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

Pau*_*aul 4 testing jasmine karma-runner

如果这个测试:

'use strict'

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

包括该"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)
Run Code Online (Sandbox Code Playgroud)

但如果没有这条线,测试就会成功.

人们建议包括angular-scenario.js,但这打破了测试

expect('111').toBe('222');
Run Code Online (Sandbox Code Playgroud)

被评估为真.

该怎么办?

Cor*_*y C 7

您需要让您的应用程序的服务器与karma运行程序一起运行.使用Node.js:

node app.js
Run Code Online (Sandbox Code Playgroud)

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

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

urlRoot = '/__karma/';

proxies = {
  '/' : 'http://localhost:3000/'
};
Run Code Online (Sandbox Code Playgroud)