【问题标题】:Grunt Karma unit task fail with AngularJS projectGrunt Karma 单元任务因 AngularJS 项目而失败
【发布时间】:2014-10-16 21:33:02
【问题描述】:

我在执行 grunt karma:unit 时遇到问题,任务完成但抛出这个:

.......
DEBUG [web-server]: serving (cached): C:/project/yo
/test/spec/services/lists.js
Firefox 32.0.0 (Windows 7): Executed 0 of 0 ERROR (0.027 secs / 0 secs)
DEBUG [karma]: Run complete, exiting.
DEBUG [launcher]: Disconnecting all browsers
DEBUG [launcher]: Process Firefox exited with code 0
DEBUG [temp-dir]: Cleaning temp dir C:\Users\developer\AppData\Local\Temp\karma-14
854612
Warning: Task "karma:unit" failed. Use --force to continue.

Aborted due to warnings.


Execution Time (2014-10-16 21:25:51 UTC)
karma:unit  4.1s  ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ 100%
Total 4.1s

测试目录包含测试空,例如:

'use strict';

describe('Service: lists', function () {

});

我不明白为什么结果是:警告:任务“karma:unit”失败。使用 --force 继续。。

我的 karma.conf.js 文件包含:

module.exports = function(config) {
  'use strict';

  config.set({
    autoWatch: true,

    basePath: '../',

    // testing framework to use (jasmine/mocha/qunit/...)
    frameworks: ['jasmine'],

    // list of files / patterns to load in the browser
    files: [
      'app/bower_components/jquery/dist/jquery.js',
      'app/bower_components/angular/angular.js',
      'app/bower_components/json3/lib/json3.js',
      'app/bower_components/bootstrap/dist/js/bootstrap.js',
      'app/bower_components/jquery-ui/jquery-ui.js',     
      'app/bower_components/angular-animate/angular-animate.js',
      'app/bower_components/angular-route/angular-route.js',
      'app/bower_components/angular-sanitize/angular-sanitize.js',
      'app/bower_components/angular-touch/angular-touch.js',      
      'app/bower_components/lodash/dist/lodash.compat.js',      
      'app/bower_components/restangular/dist/restangular.js',
      'app/bower_components/angular-ui-router/release/angular-ui-router.js',
      'app/bower_components/angular-bootstrap/ui-bootstrap-tpls.js',
      'app/bower_components/angular-translate/angular-translate.js',
      'app/bower_components/angular-moment/angular-moment.js',
      'app/bower_components/angular-ui-router/release/angular-ui-router.js',
      'app/bower_components/angular-translate-loader-static-files/angular-translate-loader-static-files.js',      
      'app/scripts/**/*.js',
      'test/spec/**/*.js'
    ],

    exclude: [],

    port: 8080,

    browsers: [
      'Firefox'
    ],

    plugins: [
      'karma-firefox-launcher',
      'karma-jasmine'
    ],

    singleRun: false,

    colors: true,

    logLevel: config.LOG_DEBUG,
  });
};

【问题讨论】:

    标签: angularjs unit-testing e2e-testing


    【解决方案1】:

    Karma 需要至少 1 次测试才能使其工作/成功。看看你的调试输出:

    Firefox 32.0.0 (Windows 7): Executed 0 of 0 ERROR (0.027 secs / 0 secs)
    

    一旦您只添加一个测试,它就会起作用:

    Firefox 32.0.0 (Windows 7): Executed 1 of 1 SUCCESS (0.031 secs / 0 secs)
    

    如何在运行测试时使控制台日志和错误显示在控制台输出中?

    请将progress 参数添加到您的业力配置文件中。

    您可以在此处的文档中阅读此内容:http://karma-runner.github.io/0.8/config/configuration-file.html

    reporters: ['progress'],
    

    【讨论】:

    • 我的配置中缺少“进度”报告器(最初由 yeoman 很久以前创建)。非常感谢您的提示。
    • 好吧,我的测试就在那里。但我仍然收到消息。 PhantomJS 1.9.8 (Linux): Executed 1 of 1 (1 FAILED) ERROR (0.051 secs / 0.015 secs) 警告:任务“karma:unit”失败。使用 --force 继续。
    • 我有一个成功的测试用例。它仍然显示相同的警告消息。
    • 这个答案不能解决问题。我也有同样的问题。
    • @Mikey,所以你还有另一个问题。看问题。他的问题没有任何“考验”。 Executed 0 of 0 ERROR,确实解决了他的问题。
    【解决方案2】:

    您可以尝试删除:/workspace/node_modules/.karma.DELETE/ 或 /workspace/node_modules/karma

    然后sudo npm install karma

    【讨论】:

    • 欢迎来到 SO。只是出于好奇,为什么你觉得有必要回答一个超过 2 岁的问题?
    • 因为我昨天也遇到了同样的问题,所以对其他人有用
    • @LotPings 你刚刚描述了这个社区中大概 30% 的内容。有用信息没有有效期
    猜你喜欢
    • 2015-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多