Я пытаюсь запустить единичный тест, который проверяет пользовательскую анимацию addClass. Независимо от того, что я пытаюсь, включая запуск образцов из Интернета, пользовательские анимации запускаются в кассете проверки кармы. ПРИМЕЧАНИЕ. Мой анимационный код отлично работает на рабочем месте. Я просто хочу, чтобы иметь возможность генерировать тесты жасмина для моей анимации.
module.exports = function(config) {
config.set({
basePath: '',
frameworks: ['jasmine'],
files: [
'Scripts\\angular.js',
'Scripts\\angular-animate.js',
'Scripts\\angular-mocks.js',
'Scripts\\animate-scr.js',
'Scripts\\animate-test.js',
],
exclude: [
],
reporters: ['progress'],
port: 9875,
colors: true,
logLevel: config.LOG_INFO,
autoWatch: true,
browsers: ['Chrome'],
captureTimeout: 60000,
singleRun: false
});
};
Вот мой исходный код для анимации.
var counter = 0;
var testapp = angular.module('testapp', ['ngAnimate']);
testapp.counter = 2;
testapp.animation('.footeropen', function() {
return {
addClass : function(element, className) {
testapp.counter = 3;
}
};
});
А вот мой юнит-тесты код
describe('Testing Animations', function() {
beforeEach(module('testapp'));
beforeEach(module('mock.animate'));
it("should synchronously test the animation",
inject(function($animate, $rootScope) {
var element = angular.element('<div>hello</div>');
$animate.addClass(element, 'footeropen');
$rootScope.$digest();
expect(testapp.counter).toBe(3);
}));
});
убедитесь, что параметр angular-animate.js настроен в файле karam.conf.js. в противном случае ваш код будет работать с noop-реализацией $ animate-сервиса. – michael
mseemann, как это отличается от декларации конфигурации в верхней части сообщения. Есть ли что-то еще, что я пропускаю, кроме объявления углового-animate.js в разделе файлов. – morrisseyd
Вы правы - моя ошибка! – michael