2013-04-09 2 views
4

Если этот тест:жасмин/Карма тест: браузер не определен

'use strict' 

describe('application', function() { 
    it('should login', function() { 
     browser().navigateTo('/'); 
     expect('111').toBe('111'); 
    }); 
}); 

"browser" включает в себя линию, результат:

Chrome 26.0 (Windows) application should login FAILED 
    ReferenceError: browser is not defined 
     at null.<anonymous> (...../test/js/e2e/tests/test.js:6:9) 
Chrome 26.0 (Windows): Executed 1 of 1 (1 FAILED) (0.359 secs/0.004 secs) 

, но без этой линии проверка проходит успешно.

Люди предлагают включать angular-scenario.js, но это нарушает тесты

expect('111').toBe('222'); 

оценивается как истинное.

Что делать?

+2

Взгляните на этот ответ: http://stackoverflow.com/a/15885079/888165 – c0bra

ответ

7

Необходимо, чтобы сервер вашего приложения работал вместе с бегуном кармы. Так с Node.js:

node app.js 

Кроме того, убедитесь, что вы измените свойство UrlRoot в вашей карме конфигурации, так что не конфликтует с вашего приложения и да, вы нужны угловые-scenario.js

files = [ 
    ANGULAR_SCENARIO, 
    ANGULAR_SCENARIO_ADAPTER, 
    'test/**/*_spec.js' 
]; 

urlRoot = '/__karma/'; 

proxies = { 
    '/' : 'http://localhost:3000/' 
}; 
+1

Параметр urlRoot был таким, который обычно не упоминается нигде и очень важен. – Bernard

0

Я столкнулся с этой проблемой. Я считаю, что вы можете только вызвать браузер() внутри beforeEach(); Попробуйте следующее:

'use strict' 

describe('application', function() { 

    beforeEach(function(){ 
     browser().navigateTo('/'); 
    }); 

    it('should login', function() { 
     expect('111').toBe('111'); 
    }); 

}); 
Смежные вопросы