나는 ajax 호출 대신 전송기로 자체 SDK를 사용하는 내 사용자 지정 DS.RESTAdapter에 대한 테스트를 작성하고 있습니다. 이제 find, findAll, findQuery ... 함수의 인스턴스를 매개 변수로 전달해야하는 어댑터를 테스트하고 싶습니다. 예를 들어 : 당신이 this.store 내를 통해 저장소에 액세스 할 수있는Ember QUnit moduleFor (테스트) 어댑터 검색 저장소
findAll: function(store, type, sinceToken){...}
이를 테스트 할 수 있도록, 내가 moduleForModel 달리 (엠버 - qunit에 moduleFor에서 사용할 수 없습니다 "저장"PARAM을 전달해야 테스트 인스턴스).
다른 방법으로 현재 상점 인스턴스에 액세스 할 수 있습니까?
감사합니다.
편집 :
나는, 저장 및 유형 모두를위한 모의 객체를 생성하여이 문제를 해결했다. 당신은에 의해 매장 인스턴스를 만들 수 있습니다 단지 시험에 필요한 속성을 가진 일반 객체로,var store = DS.Store.create({
adapter: @subject
})
그리고 유형에 대한 모의.
: (하지만 난 그것이 당신의 경우에 작동 잘 모르겠어요) 글로벌 네임 스페이스에서 저장소에 액세스하기 위해 나에게 도움이되는 저장소에 액세스하기위한 또 다른 해결책은
setup
및teardown
방법을 사용하고 있습니다 직접'moduleFor'를 사용할 수 있습니다 만,'module'을 사용하면 앱 인스턴스에서 접근 할 수 있어야합니다. 'App .__ container __. lookup ('store : main')'을 사용하여 ember-data 저장소의 인스턴스를 되돌릴 수 있습니다. – jakecraige네,하지만 그건 피하고 싶었던 새로운 App 인스턴스를 만들어야합니다. 두 가지 유형, 상점 및 유형에 대한 모의를 작성하여 해결했습니다. 댓글을 주셔서 감사합니다. – IBQ
어딘가에 코드가 온라인 상태 일 가능성이 있습니까? 똑같은 일을 성취하고 많은 파기를 구할 수 있습니다. 매우 감사. – getdave