一、简介
JUnit是一个开源的java单元测试框架。JUnit设计的非常小巧,但是功能却非常强大。下面是Junit框架图
TestSuit:是测试用例的集合;
TestCase:定义运行多个测试用例;
二、下载
点击JUnit可以下载到最新版本的JUnit。至于安装或者配置之类,你只需要轻松的将下载下来的压缩包中的jar文件,放到你工程的classpath中就可以了。这样,你的系统中就可以使用JUnit编写单元测试代码了.
三、编写单元测试文件
被测试类:
public class Man{ public int add(int i){ return i+1; } public int minus(int i){ return i-1; } }
单元测试类:
public class TestMan extends TestCase{ protected void setUp(){}//每个测试方法执行前都会先执行它 public void testAdd{ Man man = new Man(); int result = man.add(1); assertEquals(2, result); } public void testMinus{ Man man = new Man(); int result = man.minus(2); assertEquals(1, result); } protected void tearDown(){}//每个测试方法执行后都会先执行它 }
setUp()与tearDown()运行过程:
常用的断言:
assertEquals(a,b)
assertNotNull(a)
assertFalse(a):测试a是否为false
assertNull(a)
assertSame(a,b):测试a和b是否=
assertTrue(a)
四、集成单元测试
1)、通过单元测试类集成,这种方法每个测试方法必须以test开头:
import junit.framework.Test; import junit.framework.TestSuite; public class TestAll{ public static Test suite(){ TestSuite suite = new TestSuite("Test Man"); suite.addTestSuite( TestMan.class); return suite; } }
2)、通过单手段添加测试类的方法,这种方式的测试方法可以自由定义:
首先必须在测试单元测试类TestMan里面增加这个构造方法:
public class TestMan extends TestCase{ pulic TestMan(String name){ super(name); } }
下面是集成测试代码
import junit.framework.Test; import junit.framework.TestSuite; public class TestAll{ public static Test suite(){ TestSuite suite = new TestSuite(); suite.addTest( new TestMan("testAdd")); return suite; } }
五、TestRunner
在JUnit中已经给出了三种方式表示的TestRunner。你可以分别运行体验下他们的不同。
junit.swingui.TestRunner//swingGUI界面
junit.awtui.TestRunner//awtGUI界面
junit.textui.TestRunner//文本界面
他们都有一个run()方法可以接受各种TestSuite。
另有在Myeclipse中集成了Junit单元测试框架,只需要选中要测试的类,右键新建就可以自动的生成单元测试类,非常方便。