【发布时间】:2015-07-08 04:54:04
【问题描述】:
我正在尝试模拟驻留在其父模块的同一模块上的指令。 由于我想将测试隔离到子指令,因此我试图模拟父指令。 如果它们都驻留在不同的模块上,那将很容易实现,但是由于它们位于相同的模块上,因此我得到了多个具有相同名称的指令。 为了绕过这一点,我试图在我的模拟指令中添加这样的内容:
return {
priority: 100,
terminal:true,
restrict:'CE',
scope:{
zoom:'@'
},
template:'<div ng-transclude></div>',
controllerAs:'parentController',
controller:mockController,
transclude: true
};
问题是,虽然我可以覆盖父指令这样做,但子指令永远不会被调用,因为它的优先级较低,终端将停止执行。
我正在寻找的是一种在测试 karma-jasmine 并使用 angular.mock 时覆盖指令定义的方法。
【问题讨论】:
标签: angularjs unit-testing karma-jasmine