testacular / karma跳过我的e2e测试

时间:2013-03-31 05:48:01

标签: angularjs karma-runner

这个问题好像已被回答before,但这个链接不再存在,因为该试验组不再存在了。即使我的搜索功能适中,我也无法在角度组中找到任何跳过测试的参考。

我在config / karma-e2e.js中的配置文件:

basePath = '../';

files = [
  JASMINE, JASMINE_ADAPTER,
  'app/assets/javascripts/v2/vendor/angular.1.0.5.js',
  'app/assets/javascripts/v2/vendor/angular-*.js',
  'karma/lib/angular/angular-scenario.js',
  'karma/lib/angular/angular-mocks.js',
  'app/assets/javascripts/v2/vendor/*.js',
  'app/assets/javascripts/v2/services/*.js',
  'app/assets/javascripts/v2/controllers/*.js',
  'app/assets/javascripts/v2/*.js',
  'karma/e2e/*.js'
];

autoWatch = true;

browsers = ['Chrome'];

singleRun = true;

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

junitReporter = {
  outputFile: 'test_out/e2e.xml',
  suite: 'e2e'
};

我的应用程序正在(rails)端口3000上提供。我的测试尽可能简单。它看起来像这样:

'use strict';

describe("A suite", function() {
  beforeEach(function() {
    browser().navigateTo('/');
  });

  it("contains spec with an expectation", function() {
    expect(true).toBe(true);
  });
});

跳过此测试!

[2013-03-30 22:35:28.945] [WARN] config - "/" is proxied, you should probably change urlRoot to avoid conflicts
INFO [karma]: Karma server started at http://localhost:9876/
INFO [launcher]: Starting browser Chrome
INFO [Chrome 26.0 (Mac)]: Connected on socket id GRDVn96Wxr7xEzxe8XjU
Chrome 26.0 (Mac): Executed 0 of 1 (skipped 1) SUCCESS (3.771 secs / 0 secs)

即使我使用ddescribe或iit,尝试强制运行它,我仍然会被跳过。上一个问题引用的错误是什么?

我正在使用业力0.8.0&角度情景1.0.5。我能够成功地从angular-seed运行e2e测试,所以我完全不解。任何帮助,将不胜感激。感谢。

2 个答案:

答案 0 :(得分:5)

您应该从JASMINE跑步者更改为ANGULAR_SCENARIO跑步者。

当您运行E2E测试时,测试运行器将连接到您正在运行的站点并依赖它来为正在测试的应用程序提供服务。它可以通过proxies配置来控制应用程序各个部分的连接位置。提供Karma所需的唯一其他事情是场景运行并测试自己。

注意:即使在angular-seed中,e2e testsunit tests也有不同的配置。请注意e2e配置中的files数组的配置:

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

答案 1 :(得分:1)

现在已弃用此设置:

...
frameworks: ["ng-scenario"],
...

您还需要通过以下方式安装:

npm install karma-ng-scenario