javascript Karma 无法加载 junits 插件

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/29664547/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-10-28 10:52:05  来源:igfitidea点击:

Karma can't load junits plugin

javascriptangularjsjunitkarma-runner

提问by Jelle

I'm trying to create a xml file that contains my karma test output. My configuration is as follows but I do not get an xml file + i get an error on some junits plugin. How do I install this?

我正在尝试创建一个包含我的 karma 测试输出的 xml 文件。我的配置如下,但我没有得到 xml 文件 + 我在某些 junits 插件上出现错误。我该如何安装?

'use strict';

module.exports = function(config) {

  config.set({
    autoWatch : false,
    reporters: ['progress', 'junit'],

    frameworks: ['jasmine'],

    browsers : ['PhantomJS'],

    plugins : [
        'karma-phantomjs-launcher',
        'karma-jasmine'
    ],
      junitReporter: {
        outputFile: 'test-results-karma.xml',
        suite: ''
    }
  });
};

Output in cmd

在 cmd 中输出

[10:50:55] Using gulpfile C:\projects\gulpfile.js
[10:50:55] Starting 'test'...
[10:50:56] Starting Karma server...
WARN [reporter]: Can not load "junit", it is not registered!
  Perhaps you are missing some plugin?
INFO [karma]: Karma v0.12.31 server started at http://localhost:9876/
INFO [launcher]: Starting browser PhantomJS
INFO [PhantomJS 2.0.0 (Windows 8)]: Connected on socket fsowdSE-rhiP0UWvIvdZ wit
h id 70609702
PhantomJS 2.0.0 (Windows 8): Executed 1 of 1 SUCCESS (0.002 secs / 0.004 secs)

回答by lvthillo

You have to add the plugin in your karma.conf.js. So this will look like:

您必须在 karma.conf.js 中添加插件。所以这看起来像:

 plugins : [
        'karma-phantomjs-launcher',
        'karma-jasmine',
        'karma-junit-reporter'
    ]

回答by shaunhusain

Try: npm install karma-junit-reporter

尝试: npm install karma-junit-reporter

{
  "name": "project-template",
  "version": "0.0.2",
  "devDependencies": {
    "grunt-contrib-less": "^0.11.4",
    "grunt": "~0.4.1",
    "grunt-autoprefixer": "~0.4.0",
    "grunt-bower-install": "~0.7.0",
    "grunt-concurrent": "~0.4.1",
    "grunt-contrib-clean": "~0.5.0",
    "grunt-contrib-coffee": "~0.7.0",
    "grunt-contrib-compass": "~0.6.0",
    "grunt-contrib-concat": "~0.3.0",
    "grunt-contrib-connect": "~0.5.0",
    "grunt-contrib-copy": "~0.4.1",
    "grunt-contrib-cssmin": "~0.9.0",
    "grunt-contrib-htmlmin": "~0.1.3",
    "grunt-contrib-imagemin": "~0.7.1",
    "grunt-contrib-jshint": "~0.7.1",
    "grunt-contrib-uglify": "~0.2.0",
    "grunt-contrib-watch": "~0.5.2",
    "grunt-file-process": "^0.2.2",
    "grunt-google-cdn": "~0.2.0",
    "grunt-karma": "~0.8.3",
    "grunt-newer": "~0.5.4",
    "grunt-ng-annotate": "^0.4.0",
    "grunt-rev": "~0.1.0",
    "grunt-svgmin": "~0.2.0",
    "grunt-usemin": "~2.1.1",
    "jshint-stylish": "~0.1.3",
    "karma": "~0.12",
    "karma-chrome-launcher": "~0.1.4",
    "karma-jasmine": "~0.1.5",
    "karma-junit-reporter": "~0.2.2",
    "karma-ng-html2js-preprocessor": "~0.1",
    "karma-ng-scenario": "~0.1.0",
    "karma-phantomjs-launcher": "~0.1.4",
    "load-grunt-tasks": "~0.2.0",
    "time-grunt": "~0.2.1"
  },
  "engines": {
    "node": ">=0.8.0"
  },
  "scripts": {
    "test": "grunt test"
  }
}

Here's my package.json I'm also using the junit reporter in my karma.conf.js not sure what you're missing exactly though.

这是我的 package.json 我也在我的 karma.conf.js 中使用了 junit 报告器,但不确定你到底错过了什么。