`

使用karma runner 进行javascript单元测试

阅读更多
废话少说,开始安装
1、先装node.js
http://nodejs.org/
2、确认node.js安装成功
node -v
若找不到命令,那你和我一样是windows server 2003,需设置环境变量,重新打开cmd
若还是不行,上手动档,命令行里先执行
set Path=%Path%;C:\Program Files\nodejs\
node -v

恭喜你!这招一定行,这都不行,请跳楼。
这就设置好环境变量了,但是CMD窗口不要关,重新打开还需要重新设置变量。
3、CMD到项目目录下,安装karma
http://karma-runner.github.io/0.12/intro/installation.html
cd E:\HTML5js\WebContent
npm install karma --save-dev
npm install karma-jasmine karma-chrome-launcher --save-dev
npm install -g karma-cli

安装时,有时会提示什么.dll类库找不着,悲崔的windows们,请安装visual studio 2010,安装visual studio 后,再重新执行npm安装命令。
4、运行karma测试命令是否正常
karma start

有时可能又运行不了,那么
node ./node_modules/karma/bin/karma start

5、编写配置文件
在当前目录下添加karma.conf.js
module.exports = function(config) {
  config.set({
    // base path, that will be used to resolve files and exclude
    basePath: '.',

    frameworks: ['jasmine'],

    // list of files / patterns to load in the browser
    files: [
      'js/*.js'
    ],

    // list of files to exclude
    exclude: [
      'client/main.js'
    ],

    preprocessors: {
    },

    // use dots reporter, as travis terminal does not support escaping sequences
    // possible values: 'dots', 'progress'
    // CLI --reporters progress
    reporters: ['progress', 'junit'],

    junitReporter: {
      // will be resolved to basePath (in the same way as files/exclude patterns)
      outputFile: 'test-results.xml'
    },

    // web server port
    // CLI --port 9876
    port: 9876,

    // enable / disable colors in the output (reporters and logs)
    // CLI --colors --no-colors
    colors: true,

    // level of logging
    // possible values: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG
    // CLI --log-level debug
    logLevel: config.LOG_INFO,

    // enable / disable watching file and executing tests whenever any file changes
    // CLI --auto-watch --no-auto-watch
    autoWatch: true,

    // Start these browsers, currently available:
    // - Chrome
    // - ChromeCanary
    // - Firefox
    // - Opera
    // - Safari (only Mac)
    // - PhantomJS
    // - IE (only Windows)
    // CLI --browsers Chrome,Firefox,Safari
    //browsers: [process.env.TRAVIS ? 'Firefox' : 'Chrome'],
    browsers: ['IE'],

    // If browser does not capture in given timeout [ms], kill it
    // CLI --capture-timeout 5000
    captureTimeout: 20000,

    // Auto run tests on start (when browsers are captured) and exit
    // CLI --single-run --no-single-run
    singleRun: false,

    // report which specs are slower than 500ms
    // CLI --report-slower-than 500
    reportSlowerThan: 500,

    plugins: [
      'karma-jasmine',
      'karma-chrome-launcher',
      'karma-firefox-launcher',
      'karma-ie-launcher',
      'karma-junit-reporter',
      'karma-commonjs'
    ]
  });
};


6、添加需要测试的js和测试用例
创建js目录,在js目录下创建 plus.js和test.js
plug.js源码
// Some code under test
function plus(a, b) {
  return a + b;
}



test.js源码

describe('plus', function() {
  it('should pass', function() {
    expect(true).toBe(true);
  });

  it('should work', function() {
    expect(plus(1, 2)).toBe(3);
  });
  
  it('should work', function() {
	    expect(plus(5, 2)).toBe(9);
	  });
});




7、执行测试
在当前目录下运行命令,启动测试:
karma start

若测试不成功,安装karma插件
npm install karma-chrome-launcher karma-firefox-launcher karma-ie-launcher karma-junit-reporter karma-commonjs --save-dev

安装好后,再执行karma start进行测试
命令行显示测试结果
E:\HTML5js\WebContent>node ./node_modules/karma/bin/karma start
INFO [karma]: Karma v0.12.9 server started at http://localhost:9876/
INFO [launcher]: Starting browser IE
INFO [IE 8.0.0 (Windows 7)]: Connected on socket eltz_MLU0QZG0nXCcquR with id 46
729579
..
IE 8.0.0 (Windows 7) plus should work FAILED
        Expected 7 to be 9.
IE 8.0.0 (Windows 7): Executed 3 of 3 (1 FAILED) (0.023 secs / 0.013 secs)


自动打开IE进行测试,IE界面:


8、支持IE、chrome、firefox和Jenkins持续集成测试,请看下集
  • 大小: 74.4 KB
分享到:
评论

相关推荐

    javascript测试工具 Karma.zip

    Karma,全称为“Test Runner for JavaScript”,是现代Web开发中广泛使用的自动化测试工具,尤其适用于AngularJS等基于JavaScript的框架。Karma的设计理念是让编写、运行和维护JavaScript测试变得简单高效。通过...

    angular-tests:使用 Jasmine 和 Karma 对 Angular 进行单元测试

    角度测试使用 Jasmine 和 Karma 对 Angular 进行单元测试###运行项目的步骤:1) 安装节点 2) 运行 npm install grunt-cli -g 3) 运行 npm install karma-cli -g 4) 从命令行转到项目文件夹并运行 npm install 5) ...

    karma-test-agent:Karma 框架插件让 Karma runner 能够运行 Gaia 单元测试

    Karma 框架插件让 Karma runner 能够运行 Gaia 单元测试。 用法 使用npm install karma-test-agent 。 配置您的 karma 配置文件 (*.config.js),在框架列表中添加test-agent 。 用业力运行测试。

    karma-test-runner:在 grails 生命周期“test-app”中使用 karma 运行 javascript 测试的 Grails 插件

    [karma]: : 介绍该插件提供了一种新的测试类型javascript ,可以在单元或功能测试阶段执行: 要运行所有 javascript 单元测试,您可以执行test-app unit:javascript 要运行所有 javascript e2e 测试,您可以执行...

    karma-runner.github.com:Karma主页-出色JavaScript测试运行程序

    karma-runner.github.com 这是的源代码。 出色的测试运行人员的主页和文档。 如果您想更新文档,只需进入并更新降价。 您甚至可以直接从github Web界面执行此操作。 建立文件 $ git clone ...

    karma-demo:在真实浏览器中使用 Karma 测试 JS 的示例

    这个“karma-demo”项目是为展示如何配置和使用 Karma 来进行 JavaScript 的单元测试而创建的。Karma 可以与各种测试框架(如 Jasmine、Mocha)和打包工具(如 Webpack 或 Browserify)配合使用,确保代码在不同环境...

    前端开源库-karma-rollup-plugin

    Karma Rollup Plugin 是一个专门针对JavaScript项目的测试框架Karma的插件,它为Karma提供了与Rollup.js的无缝集成,使得在单元测试过程中可以利用Rollup的强大特性。 **Karma** Karma,又称“测试驱动的运行器”...

    atom-karma-runner-tests:用于测试atom-karma插件的测试项目

    Karma是一个流行的JavaScript测试运行器,它可以与多种浏览器和测试框架(如Jasmine、Mocha等)配合使用,为Web应用程序提供灵活的端到端测试解决方案。通过`atom-karma`插件,开发者能够在编写代码的同时轻松运行...

    karma-jasmine-order-reporter:报告茉莉花订单种子的Karma插件,该种子用于将Karma Runner中的规格随机化

    该插件在您进行不稳定测试(仅针对特定种子失败)的情况下非常有用。 同时,它将在Jasmine启动时报告种子,无论运行时Karma或浏览器崩溃如何。 安装 $ npm install karma-jasmine-order-reporter --save-dev 或者 $...

    前端开源库-karma-should.zip

    Karma是JavaScript的自动化测试运行器,而Should.js则是一种简洁、直观的断言库,它们共同为前端开发者提供了一套高效、便捷的单元测试解决方案。 **Karma** Karma,又被称为“Spectacular Test Runner for ...

    前端开源库-komet-karma

    Komet-Karma就是这样一个专为Komet预设的前端测试框架,它整合了Karma,一个广受欢迎的JavaScript测试运行器,为开发者提供了一种高效、便捷的方式来组织和执行前端应用的单元测试。 **Karma测试运行器** Karma,...

    mocha-browser-sample:mocha,should, karma 单元测试示例

    一个使用了mocha,should, karma的单元测试示例 什么是Karma? Karma是一个自动化的单元测试工具。 在没有Karma之前如果要在浏览器中执行mocha单元测试,需要在一个runner.html文件里引入各种js文件,然后用某个...

    less4j-1.8.3.zip

    而JUnit则是Java社区广泛使用的单元测试框架。将两者结合,junit-karma-testrunner使得开发者可以在Java开发环境中方便地运行JavaScript测试,实现前后端测试的一体化,这对于进行集成测试和持续集成非常有用。 在 ...

    gulp-karma:gulp的Karma插件

    在JavaScript开发中,测试是确保代码质量与可靠性的关键环节,而Karma就是一款广泛使用的自动化测试工具,它能够管理和运行多种浏览器环境下的单元测试。`gulp-karma`将Karma的功能与Gulp的任务管理能力结合,使...

    karma-systemjs:Karma + SystemJS示例

    Karma,也被称为“Spectacular Test Runner for JavaScript”,是一款用于自动化运行JavaScript单元测试的工具。它可以运行在多种浏览器上,并且支持各种测试框架,如Jasmine、Mocha等。Karma的主要功能包括: 1. *...

    testingplayground:测试 mocha、chai 和 karma 的沙箱

    **Karma** 是一个自动化测试runner,它的主要任务是在多个浏览器环境中运行你的测试用例,确保代码在不同环境下的兼容性。Karma可以配置为监听源代码的变化,一旦有更改,就会自动重新运行测试,极大地提高了开发...

    browserify-starter-kit:使用 Browserify、Karma.js、PhantomJS 和 Mocha 编写 Javascript 的简单样板

    Browserify 入门套件 这是什么? 用于编写和测试 ...Karma Runner为您带来简单且可定制的测试环境 + PhantomJS作为浏览器 摩卡有趣,简单灵活的测试框架 跑步 make server make watch 打开 测试 make tests

    meteor-karma:将 Karma 集成到 Meteor 中

    正在运行的 Karma 服务器将重新加载并使用新配置。 有关可能的选项,请参阅 [ ]。 例子 var options = { ... } Karma . start ( 'my-karmer-server' , options ) 执照 麻省理工学院 lib/ChildProcessFactory....

    karma-hashspace:Hashspace 的 Karma 插件

    Karma,又称为 "Spectacular Test Runner for JavaScript",它提供了一个统一的接口来管理和运行项目中的单元测试。Karma 支持多种测试框架(如 Jasmine, Mocha, QUnit 等),可以与构建工具(如 Grunt, Gulp)集成...

    karma-brackets:在括号内运行壮观的业力测试

    用于支架的 Karma runner 在编辑器中的多个浏览器上运行测试! 这个插件允许在使用运行你的测试套件 ##安装请确保您有karma-cli全球的装机量: npm install -g karma-cli 然后安装 karma-brackets(和 karma)并将...

Global site tag (gtag.js) - Google Analytics