Jasmine / Karma测试:未定义浏览器

时间:2013-04-09 16:28:58

标签: testing jasmine karma-runner

如果这个测试:

'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 个答案:

答案 0 :(得分:7)

您需要让您的应用服务器与业力运营商一起运行。使用Node.js:

node app.js

另外,请确保更改karma配置中的urlRoot属性,使其不与您的应用程序冲突,是的,您需要angular-scenario.js

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

urlRoot = '/__karma/';

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

答案 1 :(得分:0)

我也遇到过这个问题。我相信你只能在beforeEach()中调用browser();试试这个:

'use strict'

describe('application', function() {

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

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

});