2013-04-09 81 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 2013-04-22 16:06:02

回答

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 2013-05-24 11:09:22

0

我也遇到過這個問題。我相信你只能在beforeEach()內部調用browser();試試這個:

'use strict' 

describe('application', function() { 

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

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

});