我安装了Karma,现在是什么?

时间:2014-12-22 22:38:08

标签: karma-runner

我已经在我的项目中安装并实施了Karma,但我不确定从哪里开始。

我有一个非常简单的茉莉花规格只是为了测试Karma:

describe 'A suite', ->
  it 'contains spec with an expectation', ->
    expect(true).toBe true

但是,我从哪里开始?

以下是我在浏览器中访问时的外观:

browser screenshot

我的茉莉花规格在哪里?

这是我的控制台的外观:

rake karma:start
INFO [karma]: Karma v0.12.28 server started at http://localhost:9876/_karma_/
INFO [launcher]: Starting browser PhantomJS
INFO [PhantomJS 1.9.8 (Linux)]: Connected on socket FNsNSoQPPqyGCqhqIduv with id 80517079
PhantomJS 1.9.8 (Linux) LOG: 'WARNING: Tried to load angular more than once.'

PhantomJS 1.9.8 (Linux) ERROR
  TypeError: 'undefined' is not a function (evaluating 'window.angular.$$csp()')
  at /var/lib/gems/1.9.1/gems/rails-assets-angular-1.3.8/app/assets/javascripts/angular/angular.js:26070


INFO [Chrome 39.0.2171 (Linux)]: Connected on socket HbXSzzvaLb-tMVMNIduw with id manual-2655
PhantomJS 1.9.8 (Linux) LOG: 'WARNING: Tried to load angular more than once.'

PhantomJS 1.9.8 (Linux) ERROR
  TypeError: 'undefined' is not a function (evaluating 'window.angular.$$csp()')
  at /var/lib/gems/1.9.1/gems/rails-assets-angular-1.3.8/app/assets/javascripts/angular/angular.js:26070


Chrome 39.0.2171 (Linux) LOG: 'WARNING: Tried to load angular more than once.'

Chrome 39.0.2171 (Linux) ERROR
  Uncaught TypeError: undefined is not a function
  at /var/lib/gems/1.9.1/gems/rails-assets-angular-1.3.8/app/assets/javascripts/angular/angular.js:26070

再次,不是我的规范的暗示

这些错误消息是否会导致问题?

 Chrome 39.0.2171 (Linux) LOG: 'WARNING: Tried to load angular more than once.'

 Chrome 39.0.2171 (Linux) ERROR
      Uncaught TypeError: undefined is not a function
      at /var/lib/gems/1.9.1/gems/rails-assets-angular-1.3.8/app/assets/javascripts/angular/angular.js:26070

对不起,如果这是模糊的,但我不知道会发生什么。当我访问localhost:9876/_karma_/我所有的茉莉花规格时,我期待着。我期待PhantomJS在控制台中输出类似的输出,但一切都没有发生!我没有什么可继续的。

任何帮助非常赞赏(肯定会获得赏金)我如何显示我的规格!

3 个答案:

答案 0 :(得分:2)

加载角度两次绝对是问题所在。如果你在karma配置文件的files元素中使用了... ** / angular.js,我打赌你的项目中有多个angular.js文件,就是我的情况....你可以检查业力页面并找到源以查看加载了哪些文件。祝你好运!

答案 1 :(得分:0)

是的,你必须解决一个问题。你使用coffescript处理器吗?

你可以克隆https://github.com/yearofmoo/angularjs-seed-repo repo来查看Karma和Protractor测试用例的正确配置。

此外,您可以选择一个整洁的记者而不是process。请查看 npm repository

答案 2 :(得分:0)

从我收集的内容来看,如果你只需要业力单元测试(不是端到端),那么你可以从业力配置中删除ng-scenario框架,它应该可以运行

rake karma:start

不可否认,这并不能完全解决问题,但如果你遇到困难,它可能会让你解决问题。