在Jenkins中发布Karma单元测试

在Jenkins中发布Karma单元测试,jenkins,karma-runner,Jenkins,Karma Runner,已经构建了我的Maven Java项目。我希望单元测试的结果显示在Jenkins中,但不幸的是,我无法在Jenkins中引入任何配置更改。应如何配置业力来实现这一点? 为了让Jenkins能够解析karma测试结果,它们必须以Junit XML格式发布,这样做的插件是 junit测试结果(outputFile在karma配置文件中)必须存储在target/surefire reports/TESTS TestSuite.xml 旧帖子,但谷歌排名第一 配置karma.conf.js以使用'kar

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

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

    • 旧帖子,但谷歌排名第一

    • 配置karma.conf.js以使用'karma junit reporter'并报告到outputDir='target/karma reports/'
    • 在pom.xml中,为测试执行步骤指定一个execution/id,如“karmaTests”
    • 在pom.xml中,设置属性jenkins.karmaTest.reportsDirectory=target/karma reports
    • 完整的例子在上面

          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 PhantomJS
          // 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/'
          }