2013-05-25 3 views
4

Я хочу запустить тесты Jasmine e2e с использованием KarmaJS (0.9.2). Я использую Google Closure с AngularJS (1.0.7) в Windows 7. Когда я начинаю карму с помощью karma start config\karma-e2e.js, все работает нормально (браузер переходит к исправлению страницы), но он не выполняет мои тесты (останавливается на «переходе браузера на»).AngularJS: Выполнение тестов e2e с использованием Karma

config\karma-e2e.js файла:

basePath = '../'; 

frameworks = ['ng-scenario']; 

files = [ 
    'tests/e2e/**/*.js' 
]; 

autoWatch = true; 

singleRun = false; 

browsers = ['Chrome']; 

urlRoot = '/__karma/'; 

proxies = { 
    '/': 'http://localhost:8080/' 
} 

plugins = [ 
    'karma-ng-scenario' 
    'karma-chrome-launcher' 
] 

источник Test (tests\e2e\scenarios.coffee) является:

describe 'Intro page view', -> 

    it 'has hello world message', -> 
    browser().navigateTo '/app/client/' 
    expect(element('#text').text()).toBe 'Hello World' 

Я использую html5Mode маршруты, угловой является bootstraped Мануалов, используя angular.bootstrap, весь мой кофе сценарии составляются IDE, и я не вижу ошибок в консоли браузера или в командной строке. Итак, как мне это сделать? Я делаю что-то неправильно?

Спасибо!

ответ

6

Я решил эту проблему. Кажется, что угловой сценарий требует директивы ng-app, которая, по крайней мере, странная (или это ошибка). Поэтому я добавил атрибут ng-app в тело после вызова App.bootstrap() на индексной странице. Сейчас все работает отлично.

<script type="text/javascript"> 
App.bootstrap(); 
document.body.setAttribute('ng-app', 'App'); 
</script> 
+0

+1 Я просто потратил час, пытаясь выяснить, почему тесты не завершались. –

+0

Исправить. «ngScenario не работает с приложениями, которые вручную загружаются с помощью angular.bootstrap. Вы должны использовать директиву ng-app». - http://docs.angularjs.org/guide/dev_guide.e2e-testing вниз, внизу, перед комментариями. –

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