`

netbeans和karma进行单元测试

阅读更多
1、安装karma
安装时,需要提前安装node.js,才能执行下列步骤
打开命令行,把karma安装到系统里,加上-g参数,使全局可用
npm install -g karma karma-cli

npm install -g karma-jasmine karma-chrome-launcher karma-firefox-launcher karma-ie-launcher karma-junit-reporter karma-commonjs karma-coverage karma-script-launcher



2、创建配置文件

打开netbeans,在项目配置文件夹下创建karma.conf.js文件
在IDE里,选中项目,右键--》新建--》karma配置文件
修改文件内容:

module.exports = function(config) {
     config.set({
        basePath: '../',
        files: [
            'public_html/js/*.js',
            'test/js/*.js'
        ],
        exclude: [
        ],
        autoWatch: true,
        frameworks: ['jasmine'
        ],
        browsers: ['Chrome'
        ],
         reporters: ['progress', 'junit'],

        // the default configuration
        junitReporter: {
          outputFile: 'test-results.xml',
          suite: ''
        },
        
        plugins: [
              'karma-junit-reporter',
              'karma-chrome-launcher',
              'karma-firefox-launcher',
              'karma-script-launcher',
              'karma-jasmine'
        ]
    });
};




创建测试文件


//路径public_html/js/plus.js

// Some code under test
function plus(a, b) {
  return a + b;
}





//路径test/js/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, 4)).toBe(2);
	  });
});






3、配置项目
选中项目--》右键属性--》JavaScript测试--》测试提供器karma
配置文件选中刚刚创建的karma.conf.js,确定关闭属性对话框。

4、运行测试项目
  项目多了一个karma的图标,选中--》右键--》启动,即可进行项目测试。

5、异常,百撕不得骑姐~
ERROR [karma]: [TypeError: Cannot call method 'push' of undefined]
TypeError: Cannot call method 'push' of undefined
    at onBrowserStart (C:\Users\xxx\AppData\Roaming\npm\node_modules\karma\lib\reporters\base.js:14:20)
    at null.<anonymous> (C:\Users\xxx\AppData\Roaming\npm\node_modules\karma\lib\events.js:15:22)
    at EventEmitter.emit (events.js:117:20)
    at onStart (C:\Users\xxx\AppData\Roaming\npm\node_modules\karma\lib\browser.js:128:13)
    at Socket.<anonymous> (C:\Users\xxx\AppData\Roaming\npm\node_modules\karma\lib\events.js:15:22)
    at Socket.EventEmitter.emit [as $emit] (events.js:117:20)
    at SocketNamespace.handlePacket (C:\Users\xxx\AppData\Roaming\npm\node_modules\karma\node_modules\socket.io\lib\namespace.js:335:22)
    at Manager.onClientMessage (C:\Users\xxx\AppData\Roaming\npm\node_modules\karma\node_modules\socket.io\lib\manager.js:488:38)
    at WebSocket.Transport.onMessage (C:\Users\xxx\AppData\Roaming\npm\node_modules\karma\node_modules\socket.io\lib\transport.js:387:20)
    at Parser.<anonymous> (C:\Users\xxx\AppData\Roaming\npm\node_modules\karma\node_modules\socket.io\lib\transports\websocket\hybi-16.js:39:10)
完成。



按照官方的说明,配置N次,都不能成功执行。

恭喜你,和我的版本一样,是netbeans的bug


Product Version: NetBeans IDE 8.0 (Build 201403101706)
更新: NetBeans IDE 已更新到版本 NetBeans 8.0 Patch 1.1
Java: 1.7.0_45; Java HotSpot(TM) 64-Bit Server VM 24.45-b08
Runtime: Java(TM) SE Runtime Environment 1.7.0_45-b18
System: Windows 7 version 6.1 running on amd64; GBK; zh_CN (nb)

C:\Users>node --version
v0.10.22


C:\Users>karma --version
Karma version: 0.12.9



问题原因:
   netbeans未能够识别出来karma.conf.js文件,给
C:\Users\consumer\AppData\Roaming\npm\karma.cmd 脚本传了个错误的启动参数
start "D:\Program Files\NetBeans 8.0\webcommon\karma\karma-netbeans.conf.js" --port 9880 

根本没有加载我们的配置文件。

解决办法:
项目--》配置文件夹--》右键--》新建--》空文件--》karma.cmd
输入
karma start config\karma.conf.js


  项目--》右键--》属性--》JavaScript单元测试--》karma--》浏览--》选中karma.cmd
--》确定

  rock and roll~


start config\karma.conf.js
INFO [karma]: Karma v0.12.9 server started at http://localhost:9876/
INFO [launcher]: Starting browser Chrome
INFO [Chrome 34.0.1847 (Windows 7)]: Connected on socket esBL7IuEI9lscGYZ_WXz with id 57142013
Chrome 34.0.1847 (Windows 7): Executed 0 of 3 SUCCESS (0 secs / 0 secs)
Chrome 34.0.1847 (Windows 7): Executed 1 of 3 SUCCESS (0 secs / 0.01 secs)
Chrome 34.0.1847 (Windows 7): Executed 2 of 3 SUCCESS (0 secs / 0.011 secs)
Chrome 34.0.1847 (Windows 7) plus should work FAILED
	Expected 9 to be 2.
	Error: Expected 9 to be 2.
	    at null.<anonymous> (E:/html-app/test/js/test.js:11:25)
Chrome 34.0.1847 (Windows 7): Executed 3 of 3 (1 FAILED) (0 secs / 0.012 secs)
Chrome 34.0.1847 (Windows 7): Executed 3 of 3 (1 FAILED) (0.018 secs / 0.012 secs)



若控制台为乱码,修改netbeans的配置文件:
在NetBeans 8.0\etc\netbeans.conf文件里追加一行
netbeans_default_options="-J-Dfile.encoding=UTF-8"

单元测试代码的编写方法
分享到:
评论

相关推荐

    NetBeans平台软件开发单元测试技术的研究.pdf

    JUnit提供了丰富的断言方法和测试注解,如`@Test`,帮助开发者编写清晰、可读性强的测试代码。此外,JUnit还支持测试驱动开发(TDD)方法论,鼓励开发者在编写功能代码之前先写测试,从而确保代码的健壮性和可维护性...

    netbeans配置及xdebug 单元调试 单独流程调试

    netbeans配置及xdebug 调试 单元调试 单独流程调试

    Netbeans如何使用JUnit

    NetBeans IDE作为一个强大的开源集成开发环境,提供了对JUnit的内置支持,让开发者能够无缝地在NetBeans中进行单元测试。本篇文章将详细讲解如何在NetBeans中使用JUnit进行测试。 首先,确保你已经安装了支持JUnit...

    图解3-Netbeans-Emmet插件安装和测试图解

    总之,通过安装和配置Netbeans、Tomcat以及Emmet插件,开发者可以构建高效的工作环境,方便地进行Web应用程序的开发和测试。Emmet的强大功能使得HTML和CSS编码变得更加便捷,是前端开发者的得力助手。

    NetBeans数据库连接与测试视频录象

    通过这个视频录像,观众将能学习到如何在NetBeans环境中高效地管理数据库连接,进行数据查询和测试,以及如何将数据库集成到Java应用程序中。无论你是初学者还是经验丰富的开发者,这个教程都将提供宝贵的知识,帮助...

    NetBeans权威指南 源码

    第二篇为NetBeans集成开发环境的高级应用篇,本篇结合具体的实例讲解如何进行JUnit单元测试、代码性能分析、代码版本控制、开发Web应用程序、企业级应用程序、进行UML建模,以及开发SOA应用程序。第三篇介绍如何使用...

    NetBeans安装包.rar

    在Java EE方面,它可以用于开发和测试Web服务、EJBs、JSFs等,对于企业级应用开发提供了全面的工具集。 在项目开发过程中,NetBeans的调试工具是必不可少的,它允许用户设置断点、查看变量值、单步执行代码,从而...

    NetBeans5.0单元测试实践[5]

    testAdd的代码修改后如下: NetBeans5.0单元测试实践[5] 软件测试 默认的测试类的执行结果是全部都不能通过的,结果如下: 我们需要对生成的测试代码进行修改,将我们的测试用例以及期望的结果写入测试代码中,...

    NetBeans权威指南.pdf

    第二篇为NetBeans集成开发环境的高级应用篇,本篇结合具体的实例讲解如何进行JUnit单元测试、代码性能分析、代码版本控制、开发Web应用程序、企业级应用程序、进行UML建模,以及开发SOA应用程序。第三篇介绍如何使用...

    Ubuntu配置Netbeans8.2

    * 在 Ubuntu 操作系统上安装和配置 Netbeans 8.2 需要进行一些基本的配置步骤。 * 需要安装 Java 8,以便 Netbeans 正常工作。 * 需要配置环境变量,以便 Netbeans 可以在命令行中使用。 * Netbeans 可以用于创建...

    NetBeans5.0单元测试实践[4]

    NetbeansNetBeans5.0单元测试...M NetBeans5.0单元测试实践[4] 软件测试 //TODO查看生成的测试代码并删除会失败的缺省调用。 fail("测试案例为原型。"); } /** *currency方法的测试(属于类moneychange.Money)。

    JUnit学习笔记之NetBeans入门篇

    本篇笔记将带你进入JUnit与NetBeans的结合使用世界,让你在NetBeans中更高效地进行单元测试。 首先,我们需要安装JUnit库到NetBeans。在NetBeans中,打开“工具”菜单,选择“库”,然后点击“新建库”。在弹出的...

    NetBeans5.0单元测试实践[3]

    如下图: NetBeans5.0单元测试实践[3] 软件测试 这并不是创建单元测试的唯一方法,也可以通过“工具”下拉菜单中的“创建Junit测试”进行。接着弹出“创建测试”对话框,对测试类的类名以及需要生成的内容进行...

    测试工程(netbeans8.1,NetBeans自带glassfish4.1,JDK7)

    在这样的环境下,开发者通常会进行Web应用的开发和测试,尤其是Java Enterprise Edition (Java EE) 应用程序,因为NetBeans和GlassFish都是Java EE开发和部署的重要工具。 描述中提到的问题在于“输出老是1,不能...

    Java小游戏 netbeans自作

    开发者可能会编写JUnit测试用例,对游戏的各个功能模块进行单元测试,以验证它们是否按预期工作。 此外,Java小游戏的开发还需要掌握基本的编程概念,如变量、条件语句(if-else)、循环(for, while)、函数以及...

    netbeans教程

    6. **调试和测试** IDE提供了强大的调试工具,包括断点设置、单步执行、变量查看、调用堆栈分析等功能,帮助开发者定位和修复代码中的错误。此外,NetBeans还支持JUnit和TestNG等单元测试框架,促进代码质量的提升...

    Netbeans连接MySQL和SQL Server

    在IT行业中,开发人员经常需要使用集成开发环境(IDE)来编写、测试和调试代码,而NetBeans就是其中的一款流行工具。本篇文章将详细讲解如何使用NetBeans IDE连接到MySQL和SQL Server数据库,以实现数据的存储和检索...

    netbeans实例包(包含多个常用实例)

    4. **PHP开发**:NetBeans对PHP开发者同样友好,提供代码提示、调试和测试工具。实例可能涉及创建PHP网页,使用框架如Laravel或Symfony,以及数据库交互。 5. **版本控制**:NetBeans集成了Git和其他版本控制系统,...

    软件测试(Junit单元测试)汇编.pdf

    Junit提供了一些注解和断言,例如@Before、@After、@Test等,用于描述测试用例的生命周期和测试用例的断言。Junit单元测试可以帮助开发者快速地测试Java应用程序,提高软件的可靠性和稳定性。 四、 数据库开发过程...

Global site tag (gtag.js) - Google Analytics