在Jenkins发布Karma单元测试

时间:2014-12-23 08:29:22

标签: jenkins karma-runner

Jenkins已经构建了我的Maven Java项目。我希望karma单元测试的结果显示在Jenkins中,但不幸的是我无法在Jenkins中引入任何配置更改。应该如何配置业力以实现这一目标?

3 个答案:

答案 0 :(得分:6)

  • 为了让Jenkins能够解析业力测试结果,他们必须以Junit XML格式发布,这样做的插件是karma-junit-reporter
  • junit测试结果(业力配置文件中的outputFile)必须存储在target/surefire-reports/TESTS-TestSuite.xml

答案 1 :(得分:1)

    reporters        : ['progress', 'junit', 'coverage'],
    port             : 9876,
    colors           : true,
    logLevel         : config.LOG_INFO,
    // don't watch for file change
    autoWatch        : false,
    // only runs on headless browser
    browsers         : ['PhantomJS'],
    // just run one time
    singleRun        : true,
    // remove `karma-chrome-launcher` because we will be running on headless
    // browser on Jenkins
    plugins          : [
        'karma-jasmine',
        'karma-phantomjs-launcher',
        'karma-junit-reporter',
        'karma-coverage',
        'karma-jenkins-reporter'
    ],
    // changes type to `cobertura`
    coverageReporter : {
        type : 'cobertura',
        dir  : 'target/coverage-reports/'
    },
    // saves report at `target/surefire-reports/TEST-*.xml` because Jenkins
    // looks for this location and file prefix by default.
    junitReporter    : {
        outputDir : 'target/surefire-reports/'
    }

答案 2 :(得分:0)

旧帖子,但在谷歌中排名第一。

  1. 配置karma.conf.js使用'karma-junit-reporter'并向outputDir ='target / karma-reports /'
  2. 报告
  3. 在你的pom.xml中,给测试执行步骤一个执行/ id,比如'karmaTests'
  4. 在你的pom.xml中,设置一个属性jenkins.karmaTest.reportsDirectory = target / karma-reports
  5. 完整示例位于this blog post