【发布时间】:2016-09-16 18:07:39
【问题描述】:
我想自动提交指令模板中的表单。以下是相同的指令代码:
link: function(scope, el) {
$timeout(function() {
el.submit();
});
}
如何为这段代码编写 Jasmine 测试?
【问题讨论】:
标签: angularjs angularjs-directive submit form-submit karma-jasmine
我想自动提交指令模板中的表单。以下是相同的指令代码:
link: function(scope, el) {
$timeout(function() {
el.submit();
});
}
如何为这段代码编写 Jasmine 测试?
【问题讨论】:
标签: angularjs angularjs-directive submit form-submit karma-jasmine
我能够通过监视提交函数并将调用委托给提供的函数来解决我的问题。
这在 beforeEach 块中:-
element = angular.element(html);
compiledDirective = _$compile_(element)($scope);
$scope.$digest();
form = element[0];
spyOn(form, 'submit').and.callFake(function() {
return false;
});
然后在 it() 函数中测试你的代码提交:-
it('check if it submits the form', function() {
$timeout.flush();
expect(form.submit).toHaveBeenCalled();
});
【讨论】: