Угловая директива Jasmine Testing с зависимостью [^form]

Я пытаюсь проверить директиву, как объяснено, например. здесь 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

Как это можно исправить?


person Askar Ibragimov    schedule 14.07.2015    source источник
comment
Используйте '<form><mydirective></mydirective></form>' и используйте element.find('mydirective'), чтобы найти фактический элемент директивы.   -  person JB Nizet    schedule 14.07.2015
comment
@JBNizet спасибо! Вы можете сделать это ответом на самом деле. Я думаю, этот момент стоит запомнить   -  person Askar Ibragimov    schedule 14.07.2015


Ответы (1)


Использовать

'<form><mydirective></mydirective></form>'

и используйте element.find('mydirective'), чтобы найти фактический элемент директивы.

person JB Nizet    schedule 14.07.2015