卡玛,测试不运行

时间:2014-02-02 18:35:49

标签: angularjs testing karma-runner angular-scenario

这是我的业力代码看起来像..

describe('E2E: Testing Controllers', function() {
  beforeEach(function() {
    browser().navigateTo('/dashboard/');
  });

  it('should have a working home page controller that applies the leads to scope', function() {
    browser().navigateTo('#/');
    expect(browser().location().path()).toBe("/");
    expect(element('.shoutbox').html());
  });
});

业力停留在

browser navigate to '/dashboard/'

我不确定这里有什么不妥。

这是我的业力配置

var sharedConfig = require('./karma.shared.conf');

module.exports = function(config) {
  var conf = sharedConfig();

  conf.files = conf.files.concat([
    //test files
    './tests/e2e/**/*.js'
  ]);

  conf.proxies = {
    '/': 'http://localhost:8080/'
  };

  conf.urlRoot = '/__e2e/';

  conf.frameworks = ['ng-scenario'];

  config.set(conf);
};

我哪里可能出错?

1 个答案:

答案 0 :(得分:0)

您正在使用哪种浏览器,因为我没有看到任何配置,例如'browsers: ['Chrome']'

请确保您已在proxies中的已配置地址运行应用程序。

您是否安装了必需的插件,例如:

https://github.com/karma-runner/karma-chrome-launcher

https://github.com/karma-runner/karma-ng-scenario

如果您的浏览器正在启动,请查看javascript控制台是否存在错误。

也许您需要在karma.conf中包含更多文件,例如:

// list of files / patterns to load in the browser
        files: [
            'vendor/angular/angular.js', 'vendor/angular/angular-resource.js', 'vendor/angular/angular-mocks.js', 'test/e2e.*.js', 'src/**/*.js', 'test/e2e/**/*.js',
            'src/**/*.html'
        ]

为什么你在browser().navigateTo('');使用beforeEach()并在it()再次使用?

您希望通过此期望实现的目标:expect(element('.shoutbox').html());

查看ng-scenario syntax并考虑使用Protractor