내 엠버 응용 프로그램에서 경로에서 간단한 기호를 가지고 :알 수없는`서비스 : 엠버 경로 단위 테스트에서 session` 인젝터
import Ember from 'ember';
import UnauthenticatedRouteMixin from 'ember-simple-auth/mixins/unauthenticated-route-mixin';
export default Ember.Route.extend(UnauthenticatedRouteMixin, {
});
그리고 그것에 대해별로 더 복잡한 단위 테스트 :
import { moduleFor, test } from 'ember-qunit';
moduleFor('route:sign-in', 'Unit | Route | sign in', {
needs: ['service:session']
});
test('it exists', function(assert) {
let route = this.subject();
assert.ok(route);
});
ember test -f sign
를 실행하지만 그것은 service:session
를 주입 할 수 있음을 말해 오류와 함께 실패합니다 :
Built project successfully. Stored in "/Users/hauleth/Workspace/hauleth/crossover/frontend/tmp/core_object-tests_dist-P16KQenq.tmp".
not ok 1 PhantomJS 2.1 - Unit | Controller | sign in: it exists
---
actual: >
null
stack: >
[email protected]://localhost:7357/assets/vendor.js:12932:91
http://localhost:7357/assets/vendor.js:12107:48
[email protected]://localhost:7357/assets/vendor.js:17219:9
[email protected]://localhost:7357/assets/vendor.js:26382:43
[email protected]://localhost:7357/assets/vendor.js:12101:34
[email protected]://localhost:7357/assets/vendor.js:11955:28
[email protected]://localhost:7357/assets/vendor.js:11994:42
[email protected]://localhost:7357/assets/vendor.js:12067:37
[email protected]://localhost:7357/assets/vendor.js:12038:37
[email protected]://localhost:7357/assets/vendor.js:11888:24
[email protected]://localhost:7357/assets/test-support.js:7816:39
http://localhost:7357/assets/test-support.js:7904:75
http://localhost:7357/assets/tests.js:345:34
[email protected]://localhost:7357/assets/test-support.js:6634:34
[email protected]://localhost:7357/assets/test-support.js:2779:32
[email protected]://localhost:7357/assets/test-support.js:2764:11
http://localhost:7357/assets/test-support.js:2906:14
[email protected]://localhost:7357/assets/test-support.js:2565:24
[email protected]://localhost:7357/assets/test-support.js:2547:9
http://localhost:7357/assets/test-support.js:2607:9
message: >
Died on test #1 [email protected]://localhost:7357/assets/test-support.js:6663:16
[email protected]://localhost:7357/assets/test-support.js:6676:44
http://localhost:7357/assets/tests.js:344:24
[email protected]://localhost:7357/assets/vendor.js:131:37
[email protected]://localhost:7357/assets/vendor.js:30:25
[email protected]://localhost:7357/assets/test-loader.js:67:16
[email protected]://localhost:7357/assets/test-loader.js:58:25
[email protected]://localhost:7357/assets/test-loader.js:89:35
http://localhost:7357/assets/test-support.js:6485:20: Attempting to inject an unknown injection: `service:session`
Log: |
...
ok 2 PhantomJS 2.1 - Unit | Route | sign in: it exists
1..2
# tests 2
# pass 1
# skip 0
# fail 1
솔루션을 찾으려고했지만 통합 테스트에 관한 것이거나 needs: ['service:session']
을 추가하라고 알려졌지만 이미 있습니다.