2013-05-08 5 views
0

В угловом У меня есть объект службы, который оживляет переходы страниц. Проблема заключается в том, что анимация делает тесты Karma/testacular E2E выполняются очень медленно. Код выглядит следующим образом:Karma AngularJs Отменить/mock Время ожидания E2E

.factory('Animator', function($timeout, $location, $rootScope){ 
     return { 
      animate: function(animationVariable, animationType, callback){ 
       $rootScope[animationVariable] = animationType + " animated"; 
       $timeout(
        function(){ 
         $rootScope[animationVariable] = ""; 
         if(callback) { callback() } 
        },1300) 
       ; 
      } 
     } 
    }) 

Как я могу издеваться из функциональности анимации, так что он будет пропущен при выполнении E2e тестов в карме.

ответ

0

Karma может запускаться, но не может выполнять тесты, если какой-либо из ваших исходных файлов использует функцию тайм-аута Angular $. Если вы хотите протестировать свое приложение, вам нужно будет удалить любые ссылки на службу $ timeout или написать свой собственный.

Источник:Vojta Jína

+0

Испытания выполняются. Проблема в том, что тайм-аут занимает слишком много времени во время теста. – GTDev

+0

Если вы установили logLevel Karma в LOG_DEBUG, видите ли вы, что попытки попробовать выполнить или просто зависают после завершения загрузки всех необходимых ресурсов на вашей странице? – Shadowedged

+0

Он работает отлично только медленно из-за анимации, поэтому я хочу как-то издеваться над этим. – GTDev

Смежные вопросы