Я пишу тесты для директивы. Я хочу пройти в шаблонURL, а затем проверить различные функциональные возможности, используя встроенную библиотеку JQlite.Директивы тестирования AngularJS не могут скомпилировать шаблон с URL-адреса
По какой-то причине мой шаблон, кажется, не компилируется, хотя Жасмин не дает мне никаких ошибок.
мое отношение структура приложение:
/app
../partials/
../tests/
У меня есть моя установка karma.conf так:
files: [
...
'tests/*.js',
'partials/*.html'
],
preprocessors: {
'partials/*.html':'ng-html2js'
},
plugins: [
'karma-chrome-launcher',
'karma-jasmine',
'karma-ng-html2js-preprocessor',
'karma
]
Мой тестовый код выглядит следующим образом:
describe('mapInputs.customForm', function() {
var elm, scope;
beforeEach(module('myApp'));
beforeEach(module('partials/test/tmpl.html'));
beforeEach(inject(function (_$rootScope_, _$compile_) {
$rootScope = _$rootScope_;
$compile = _$compile_;
elm = angular.element('<div><ng-map-inputs map-inputs=""></ng-map-inputs></div>');
console.log('elm', elm);
elm = $compile(elm)($rootScope);
$rootScope.$digest();
console.log('elm', elm);
}));
it('should reveal custom form', function() {
// elm.find('div') returns an empty object
});
});
И выход :
LOG: 'elm', Object{length: 1, 0: <div><ng-map-inputs map-inputs=""></ng-map-inputs></div>}
LOG: 'elm', Object{length: 1, 0: <div class="ng-scope"><ng-map-inputs map-inputs=""></ng-map-inputs></div>}
Как я уже сказал, я не получаю никаких ошибок, но вывод журналов консоли - это не то, что я ожидаю. Кажется, что шаблон не компилируется? Но, конечно же, Жасмин пожалуется, если шаблон не будет найден?
Любая помощь будет высоко оценена.
Слишком сложно для отладки зрения ... заведите Codepen –
Просто хотел, чтобы увидеть, есть ли что-нибудь Очевидно, я отсутствовал. –
Ничего не хватает, но мозг человека (или женщины) не может скомпилировать это в бит-код и посмотреть, что случилось, браузер должен это сделать, поэтому сделайте скрипку. –