【发布时间】:2016-10-31 08:00:13
【问题描述】:
我使用 service $uibModal 创建模态窗口。而且我需要确保模板文件存在。
(function () {
angular.module('some.module.name').factory('serviceName', function ($uibModal) {
function open() {
return $uibModal.open({
templateUrl: 'path/to/template.html',
controller: 'ControllerName',
resolve: {
context: function () {
return something;
}
}
});
}
return {
open: open
};
});
})();
我可以像这样检查静态路径:
it('should pass a config object when opens the modal window', function () {
expectedOptions = {
templateUrl: 'path/to/template.html',
controller: 'ControllerName',
resolve: {
context: jasmine.any(Function)
}
};
serviceName.open();
expect($uibModal.open).toHaveBeenCalledWith(jasmine.objectContaining(expectedOptions));
});
但是如果模板路径会改变,我需要修改这个测试。
如何检查模态窗口是否接收到现有模板而不进行测试修改?
提前致谢!
【问题讨论】:
-
您可以检查您是否能够从
$templateCache获取模板 -
@AlekseyL.,非常感谢!就是这样。
标签: javascript angularjs unit-testing jasmine angular-ui