2013-04-09 79 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'); 
    }); 

});