Я только что начал миграцию с углового 1.48 -> 1.61 Я остался с единичным тестом, который отказывается пройти. Мы хотим проверить, что директива, которую мы написали, в будущем не изменится, так что она всегда останется с атрибутом require.
Вот определение директивы:
angular.module('ourApp')
.directive('ourdirective', ['$timeout', function($timeout) {
return {
restrict: 'AE',
require: 'ngModel',
scope: {
options:'=?',
max:'=',
ngModel : "="
},
templateUrl: 'ourhtmltemplate.html'
link: function(scope, elt, attrs, ctrl) { // some code here }
А вот тестовый модуль, который мы писали для того. Вы можете предположить, что никакой компиляционной ошибки нет, и что другие тесты летают высоко.
it('should throw if no ng model present', function() {
expect(function() {
buildElement("<ourdirective ></ourdirective>");
}).toThrowError();
};
function buildElement(html) {
element = angular.element(html);
$compile(element)($rootScope);
$rootScope.$digest();
$rootScope.select = {}
isolatedScope = element.isolateScope();
$rootScope.$apply(function() {});
}
Мы используем следующие пакеты:
"угловой": "1.6.1", "угловые-издевается": "1.6.1", "жасмин-ожидать": «1.22 ", " karma ":"^0.12.31 ", " карма-жасмин ":"^0.3.5 ", " Карма-жасмин-ответчики ":"^0.1.3 ", " Карма-фантомс- пусковая установка ":"^0.1.4 ",
любая помощь будет наиболее адекватной.