单元测试Angularjs引导模式
我有一个指令,其中有一个链接,点击后会在模式弹出窗口中显示数据 如何为点击链接编写单元测试(jasmine),以及如何测试打开的模型和正确显示模式中的数据 你能提供一些参考资料吗 这是我想要测试的单元测试Angularjs引导模式,angularjs,Angularjs,我有一个指令,其中有一个链接,点击后会在模式弹出窗口中显示数据 如何为点击链接编写单元测试(jasmine),以及如何测试打开的模型和正确显示模式中的数据 你能提供一些参考资料吗 这是我想要测试的 angular.module(’sample', [ 'ui.bootstrap' ]) .controller(’ employeeController “,[”$scope“,“$modal”,函数($scope,$modal){ 我想检查调用ClickMe时是否打开了模型,并且模型中的
angular.module(’sample', [
'ui.bootstrap'
])
.controller(’ employeeController
“,[”$scope“,“$modal”,函数($scope,$modal){
我想检查调用ClickMe时是否打开了模型,并且模型中的数据是否正确填充。从现在起,模型仅在按escape键时关闭。首先,您必须创建一个模型模拟:
function ModalMock {
this.open = function(modalArgs) {
return
};
}
然后在测试中初始化此项:
beforeEach(() => {
// create mocks
modalMock = new ModalMock();
controller = $controller('MyCtrl', {
$scope: scope,
$modal: modalMock,
});
});
在实际试块中,应使用spyon
方法:
it('should do something', function() {
var modalPromise = q.defer().promise;
spyOn(modalMock, 'open').andReturn({ result: modalPromise });
controller.doSomething(arg);
// make sure that angular resolves/rejects the deferreds
scope.$digest();
// verify that the modal is opened
expect(modalMock.open).toHaveBeenCalled();
});
您可以编译您的指令并使用jQuery单击它,然后您可以在“modal”函数上创建spies,并期望在元素上调用“modal”函数。如果您有类似的内容:
$(element).modal('show');
您可以添加spy-on元素和模态函数,并期望使用'show'参数调用模态。对于单元测试,您只需要测试您的逻辑是否工作。如果您需要测试模态组件,并且它是否正确显示,则需要在E2E测试中测试。我已经编辑了要测试的代码,我有一些synt使用ur方法的ax probs。
$(element).modal('show');