1
サービスの単体テストでは、サービススタブ内にアサートを入れています。受け入れ/統合テスト中にスタブ/モックエバーサービス内でアサートする
ユニット-test.js
let fooServiceStub = Ember.Object.extend({
fooMethod(bar) {
this.assert.ok(bar, 'fooMethod called with bar');
}
});
...
test('blah', function(assert) {
assert.expect(1);
let stubFooService = fooServiceStub.create({ assert });
let fooService = this.subject({
fooService: stubFooService
});
fooService.fooMethod('data');
});
受諾/統合テストのための可能なスタブサービスの内部アサートですか?
私が取り組んでいる問題は、受け入れ/統合テストでは、サービスが注入される方法が単体テストと異なることです。
受け入れ-test.js
let fooServiceStub = Ember.Service.extend({
fooMethod(bar) {
return 'baz';
}
});
....
beforeEach: function() {
this.application.register('service:mockFooService', fooServiceStub);
this.application.inject('controller', 'fooService', 'service:mockFooService');
}
私は、このようなスタブに「アサート」オブジェクトに渡すための方法を発見していません。
私にとっては、これは受け入れテスト中に行うことが望ましいです。サービスが中断され、受け入れテストでは模倣するのがむしろ複雑なものがあり、私は自分のサービスを再テストしたくありません。私は、予想されるサービスコールがトリガーされたことを確認したいだけです。
this.setは、受け入れテストの内部で定義されていません。コンポーネントの統合テストでは機能していましたが、受入れテストでは機能しませんでした。 – myartsev