======================================================
注:本文源代码点此下载
======================================================

之前看hbase,hadoop的源代码的时候,里面都有一个很大的子工程test,阅读其代码,发现很多不懂,后来才知道是开发者所写的单元测试代码。这些代码都用到了junit包,对这个我不是很了解,通过上网搜索,结合网上所给实例,实际动手操作了一番。大概总结一下如何在eclipse环境下使用junit进行单元测试。

一、 新建一个测试用例或选择已有的所想测试的java文件,点击“file->new->…”菜单项或右击文件,在弹出的“new”对话框中选择“junit test case”,就进入“new junit test case”对话框。 在“new junit testcase”对话框填写相应的栏目,主要有name(测试用例名),superclass(若junit的版本是3.8.1,则测试的超类一般默认为junit.framework.testcase; 若junit版本是junit 4.4,则默认超类为java.lang.object。),class under test(被测试的类),source folder(测试用例保存的目录),package(测试用例包名),及是否自动生成main,setup,teardown方法。在此一般填写name及选上复选上setupt和teardown即可。

二、 点击“next>”按钮,则进入test methods,在此你可以直接勾选你想测试的被测试类的方法,eclipse将自动生成与被选方法相应的测试方法,点击“fishish”按钮后一个测试用例就创建好了。

三、编写完测试用例后,直接运行run->run as->junit test,就可以看到junit测试结果:绿色表示测试通过,只要有1个测试未通过,就会显示红色并列出未通过测试的方法。

下面看一个例子:

源代码:

package hello;

public class calculator {

public int add(int a, int b) {

return a + b;

}

public int minus(int a, int b) {

return a - b;

}

public int multiply(int a, int b) {

return a * b;

}

public int divide(int a, int b) throws exception {

if (0 == b) {

throw new exception("除数不能为零");

}

return a / b;

}

}

测试用例:

package hello;

import junit.framework.assert;

import junit.framework.testcase;

public class calculatortest extends testcase {

private calculator cal;

protected void setup() throws exception {

cal = new calculator();

}

protected void teardown() throws exception {

super.teardown();

}

public void testadd() {

int result = cal.add(1, 2);

assert.assertequals(3, result);

}

public void testminus() {

int result = cal.minus(5, 2);

assert.assertequals(3, result);

}

public void testmultiply() {

int result = cal.multiply(4, 2);

assert.assertequals(8,result);

}

public void testdivide() {

int result = 0;

try {

result = cal.divide(10, 5);

} catch (exception e) {

e.printstacktrace();

// 我们期望result = cal.divide(10,5);正常执行;如果进入到catch中说明失败;

// 所以我们加上fail。

assert.fail();// 如果这行没有执行。说明这部分正确。

}

assert.assertequals(2, result);

}

}

通过运行测试,显示为绿色,测试通过!!!

补充说明:

要使用junit,您必须首先将junit jar保存在项目的build路径上并创建一个测试类。将junit保存在项目的build路径上的步骤为:

右击项目—>选择菜单底部的properties选择java build path—>选择libraries—>点击add variable按钮—>查看已有的列表中有无junit文件,若没有,则点击configure variable—>new按钮,输入junit_lib作为变量名称,编辑该变量并指向解压后的junit目录中的一个名为junit.jar的文件—>然后在选择刚才添加的jar文件依次点击ok即可。


======================================================
在最后,我邀请大家参加新浪APP,就是新浪免费送大家的一个空间,支持PHP+MySql,免费二级域名,免费域名绑定 这个是我邀请的地址,您通过这个链接注册即为我的好友,并获赠云豆500个,价值5元哦!短网址是http://t.cn/SXOiLh我创建的小站每天访客已经达到2000+了,每天挂广告赚50+元哦,呵呵,饭钱不愁了,\(^o^)/
Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐