当前位置:  开发笔记 > 前端 > 正文

将Karma Runner连接到Jenkins CI

如何解决《将KarmaRunner连接到JenkinsCI》经验,为你挑选了1个好方法。

帮助我了解如何将我的Angular-Jasmine-Karma堆栈连接到Jenkins.我有一个Angular.js网络应用程序,我用Karma(néTestacular)和Jasmine进行测试.它看起来就像Angular Tutorial.我想用Jenkins持续集成测试它.

到目前为止,我已根据教程安装了Angular,Jasmine和Karma.我安装了Jenkins.我可以让每个人独立工作.从我发现的内容来看,似乎Karma应该输出一个Jenkins摄取的XML文件,但是Karma并不是一直输出一个文件,而我从概念上并不理解这一点.詹金斯在什么时候称呼卡玛?

一个好的答案将概述在詹金斯进行Karma测试所需的部分.

以防万一,这是我的Karma配置.它以调试的名义被肢解.

module.exports = function(config){
  config.set({
    basePath : '../',

    files : [
      'app/lib/angular/angular.js',
      'app/lib/angular/angular-*.js',
      'app/js/**/*.js',
      'test/unit/**/*.js'
    ],

    exclude : [
      'app/lib/angular/angular-loader.js',
      'app/lib/angular/*.min.js',
      'app/lib/angular/angular-scenario.js'
    ],

    autoWatch : true,

    frameworks: ['jasmine'],

    browsers : ['Chrome'],

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

    reporters : ['dots', 'junit', 'coverage'],

    junitReporter : {
      outputFile: 'test_out/unit.xml',
      suite: 'unit'
    }

    coverageReporter : {
      type: 'cobertura',
      dir: 'coverage/',
      file: 'coverage.xml'
    }

  });
};

Lloyd Banks.. 19

首先,您需要一个karma.conf.js列出以下内容的文件:

reporters: ['progress', 'coverage', 'dots', 'junit'],

junitReporter: {
    outputDir: 'karma-results',
    outputFile: 'karma-results.xml'
},

browsers: ['PhantomJS'],

singleRun: true

reporters关键下最重要的项目是junit.这是将您的Karma输出转换为XML文件的附加组件.您的测试输出必须采用特定的XML格式,以便Jenkins解析它.您可以使用junitReporter密钥配置此XML文件的输出位置.在browsers密钥中,请确保您指定,PhantomJS因为您的Jenkins服务器很可能没有Chrome或Firefox的实例.该singleRun键可以确保测试运行之前噶服务器启动和关闭时,测试完成.

接下来,通过运行以下命令确保服务器上安装了以下所有节点模块:

npm install -g karma-cli
npm install -g karma --save-dev
npm install -g phantomjs 
npm install -g karma-jasmine --save-dev 
npm install -g karma-phantomjs-launcher --save-dev
npm install -g karma-coverage

通过浏览器访问Jenkins服务器.您可以访问Jenkins服务器

http://server-ip-address:8080

在继续之前,请确保安装了"Environment Injector Plugin"和"Junit Plugin".一旦有,请单击New ItemJenkins主页的左侧.为您的工作设置以下参数:

在此输入图像描述

"属性内容"允许您在服务器上为Jenkins分配PATH,并允许您karma在其下方的"命令"部分中使用该关键字."命令"部分告诉Jenkins cd到文件所在的karma.conf.js文件夹并启动Karma.

如果您使用上面示例中的outputDiroutputFilekarma.conf.js,则可以保留"测试报告XML"输入值.否则,更改它以反映将生成XML结果文件的新路径.

现在,无论何时在Jenkins中运行此作业,您都可以看到它是否通过,以及测试中的行项结果.



1> Lloyd Banks..:

首先,您需要一个karma.conf.js列出以下内容的文件:

reporters: ['progress', 'coverage', 'dots', 'junit'],

junitReporter: {
    outputDir: 'karma-results',
    outputFile: 'karma-results.xml'
},

browsers: ['PhantomJS'],

singleRun: true

reporters关键下最重要的项目是junit.这是将您的Karma输出转换为XML文件的附加组件.您的测试输出必须采用特定的XML格式,以便Jenkins解析它.您可以使用junitReporter密钥配置此XML文件的输出位置.在browsers密钥中,请确保您指定,PhantomJS因为您的Jenkins服务器很可能没有Chrome或Firefox的实例.该singleRun键可以确保测试运行之前噶服务器启动和关闭时,测试完成.

接下来,通过运行以下命令确保服务器上安装了以下所有节点模块:

npm install -g karma-cli
npm install -g karma --save-dev
npm install -g phantomjs 
npm install -g karma-jasmine --save-dev 
npm install -g karma-phantomjs-launcher --save-dev
npm install -g karma-coverage

通过浏览器访问Jenkins服务器.您可以访问Jenkins服务器

http://server-ip-address:8080

在继续之前,请确保安装了"Environment Injector Plugin"和"Junit Plugin".一旦有,请单击New ItemJenkins主页的左侧.为您的工作设置以下参数:

在此输入图像描述

"属性内容"允许您在服务器上为Jenkins分配PATH,并允许您karma在其下方的"命令"部分中使用该关键字."命令"部分告诉Jenkins cd到文件所在的karma.conf.js文件夹并启动Karma.

如果您使用上面示例中的outputDiroutputFilekarma.conf.js,则可以保留"测试报告XML"输入值.否则,更改它以反映将生成XML结果文件的新路径.

现在,无论何时在Jenkins中运行此作业,您都可以看到它是否通过,以及测试中的行项结果.

推荐阅读
pan2502851807
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有