8
仕様:EmberJSサービスインジェクション(エンバーQUnit)
- エンバーバージョン:1.13.8
- ノード:0.10.33
- NPM:2.13.4
I have
import Alias from "../../../services/alias";
....
moduleFor("controller:test", "Controller: test", {
integration: true,
beforeEach: function() {
this.register('service:alias', Alias, {singleton: true});
this.inject.service('alias', { as: 'alias' });
this.advanceReadiness();
},
});
...
test('Alias Alias Alias ', function(assert) {
var controller = this.subject();
//sample function
controller.send("test");
assert.equal(true, controller.alias.get("alias"), "alias should be true");
});
サービスを初期化しようとしましたが、Ember Qunitテスト中にコントローラにサービスが注入されませんでした。
がどのように私はユニットテストの間にそれを注入しない...どちらか動作しません、代わりにbeforeEachのinit()メソッド:
は私はで注入を入れて試してみましたか?
デバッガにブレークポイントを設定して、コントローラにサービスがあるかどうかを確認しますが、テスト中は表示されません。しかし、通常のエバーサーブでは問題ありません。
これは単体テストのember-simple-authセッションに関する私の問題を解決しました –