Я пытаюсь проверить директиву, как объяснено, например. здесь 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);
Я получаю следующую проблему с зависимостями при попытке запустить тест кармы/жасмин:
Ошибка: [$compile:ctreq] Форма контроллера, требуемая директивой mydirective, не найдена! http://errors.angularjs.org/1.4.2/$compile/ctreq?p0=form&p1=mydirective
Как это можно исправить?
'<form><mydirective></mydirective></form>'
и используйтеelement.find('mydirective')
, чтобы найти фактический элемент директивы. - person JB Nizet   schedule 14.07.2015