具有 [^form] 依赖性的 Jasmine 测试 angular 指令
Jasmine Testing angular directive with [^form] dependency
我正在尝试测试一个指令,如解释的那样。这里 http://angular-tips.com/blog/2014/06/introduction-to-unit-test-directives/.
然而,在我的指令中我使用了表单,所以我在我的指令声明对象中有这个:
return {
link: link,
restrict: 'E',
require: ['^form'], // <- I have this !!
scope: { //...
},
controller: function ($scope) {
//...
}
};
因此,当我执行 Jasmine 测试的通常先决条件时
element = '<mydirective/>';
element = $compile(element)(scope);
我在尝试 运行 karma / Jasmine 测试时遇到以下依赖性问题:
错误:[$compile:ctreq] 控制器 'form',指令 'mydirective' 所需,找不到!
http://errors.angularjs.org/1.4.2/$compile/ctreq?p0=form&p1=mydirective
如何解决这个问题?
使用
'<form><mydirective></mydirective></form>'
,并使用 element.find('mydirective')
查找实际指令元素。
我正在尝试测试一个指令,如解释的那样。这里 http://angular-tips.com/blog/2014/06/introduction-to-unit-test-directives/.
然而,在我的指令中我使用了表单,所以我在我的指令声明对象中有这个:
return {
link: link,
restrict: 'E',
require: ['^form'], // <- I have this !!
scope: { //...
},
controller: function ($scope) {
//...
}
};
因此,当我执行 Jasmine 测试的通常先决条件时
element = '<mydirective/>';
element = $compile(element)(scope);
我在尝试 运行 karma / Jasmine 测试时遇到以下依赖性问题:
错误:[$compile:ctreq] 控制器 'form',指令 'mydirective' 所需,找不到! http://errors.angularjs.org/1.4.2/$compile/ctreq?p0=form&p1=mydirective
如何解决这个问题?
使用
'<form><mydirective></mydirective></form>'
,并使用 element.find('mydirective')
查找实际指令元素。