Junit是一个很好的工具,自己写了几个非常简单的例子,希望能让大家
以超快的速度入门,看完就会知道,unit test是一件十分简单有趣的事情.
先写两个功能类:
1.
package com.founder.ws;
public class Compute {
public static int add(int a,int b){
return a+b;
}
}
2.
package com.founder.ws;
public class StringUtil {
public static String concat(String s1,String s2){
return s1+s2;
}
public static boolean isNull(String s){
if (s == null) {
return true;
}
return false;
}
}
为这两个功能类写两个测试用例(Test Case)
1.
package com.founder.ws;
import junit.framework.*;
public class TestCompute extends TestCase {
private Compute compute = null;
protected void setUp() throws Exception {
super.setUp();
compute = new Compute();
}
protected void tearDown() throws Exception {
compute = null;
super.tearDown();
}
public void testAdd(){
this.assertEquals("add result is error!",5,compute.add(1,4));
}
}
2.
package com.founder.ws;
import junit.framework.*;
/**
* <p>Title: </p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) 2006</p>
* <p>Company: </p>
* @author not attributable
* @version 1.0
*/
public class TestStringUtil extends TestCase {
private StringUtil stringUtil = null;
protected void setUp() throws Exception {
super.setUp();
stringUtil = new StringUtil();
}
protected void tearDown() throws Exception {
stringUtil = null;
super.tearDown();
}
public void testConcat() {
String s1 = "a";
String s2 = "b";
String expectedReturn = "ab";
String actualReturn = stringUtil.concat(s1, s2);
assertEquals("return value", expectedReturn, actualReturn);
/**@todo fill in the test code*/
}
public void testIsNull() {
String s = null;
boolean expectedReturn = true;
boolean actualReturn = stringUtil.isNull(s);
assertEquals("return value", expectedReturn, actualReturn);
/**@todo fill in the test code*/
}
}
写一个TestSuite类,把两个Test Case加进来,这样就可以运行这个TestSuite来完成
两个TestCase的运行.
利用TestSuite可以将一个TestCase子类中所有test***()方法包含进来一起运行,还可将TestSuite子类也包含进来,从而行成了一种等级关系。可以把TestSuite视为一个容器,可以盛放TestCase中的test***()方法,它自己也可以嵌套。这种体系架构,非常类似于现实中程序一步步开发一步步集成的现况。
package com.founder.ws;
import junit.framework.*;
public class AllTests {
public static Test suite() {
TestSuite suite = new TestSuite();
suite.addTestSuite(TestCompute.class);
suite.addTestSuite(TestStringUtil.class);
return suite;
}
}
运行这个Test Suite ,显示出Junit的绿色条,三个方法全部通过,OK,测试通过.
如果出现红色条,按照指示回去功能类里找BUG,修改完毕,重新运行Test Suite,
直到绿色条出现,这便是一个简单的Junit测试过程.简单吧 :)