0
$uibmodal
を開く関数をテストしようとしています。これは私の工場の機能です。
ユニットテストファイルでは、まずそのようなプロバイダを追加しています。
beforeEach(angular.mock.module('ui.bootstrap'));
beforeEach(function() {
module(function ($provide) {
$provide.value('$uibModal', function (value) {
return value;
});
});
});
その後、私はそうのようなbeforeEach
でopen
、dismiss
とclose
機能を注入しています。
beforeEach(inject(function (_utilsFactory_, _$httpBackend_, _$filter_) {
utilsService = _utilsFactory_;
$httpBackend = _$httpBackend_;
filter = _$filter_;
uibModal = {
open: function() {},
dismiss: function() {},
close: function() {}
};
}));
最後に、私はファクトリ関数を呼び出してユニットテストを実行しようとしています。
it('should show a confirmation message', function() {
var spy = spyOn(uibModal, "open").and.callFake(function() {
return {
result: {
then: function() {}
}
};
});
utilsService.confirmationMessage("Are you Sure?");
expect(spy).toHaveBeenCalled();
});
それは、$uibModal.open
が機能ではないことを私にエラーを与えます。
今、モーダルが開かれているかどうかをテストする方法は? "それ"の機能で。 –
@UmairJameelはこれで答えを更新しました。 – tanmay