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');

被评估为真。

该怎么办?

4

2 回答 2

7

您需要让应用程序的服务器与 karma runner 一起运行。所以对于 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/'
};
于 2013-04-22T21:17:15.507 回答
0

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

'use strict'

describe('application', function() {

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

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

});
于 2013-04-22T19:49:48.443 回答