Junit3 和 Junit4 有本质上的区别
1、普通java类,代码如下:
package learn.junit; public class HelloWorld { public String Hello(){ return "world"; } public String World(){ return "hello"; } public String Nil(){ return null; } public String NotNil(){ return "abs"; } public String ext(){ throw new NumberFormatException(); } }
2、测试单元类,代码如下:
package learn.junit.test; import junit.framework.TestCase; import learn.junit.HelloWorld; /** * 基于 3.8 之前的版本(包括 3.8 版本)必须要继承 TestCase */ public class JunitTest extends TestCase { private HelloWorld hw; // 初始化方法 @Override protected void setUp() throws Exception{ super.setUp(); hw = new HelloWorld(); System.out.println("Hello World init!"); } // 方法只要有 test开头就是单元测试类 public void testHello(){ String str = hw.Hello(); // 第二个参数数期望值,第三个参数是实际值; 如果期望值和实际值不相等,则返回 第一个参数值,反之不返回 assertEquals("测试Hello失败!", str, "world"); } public void testWorld(){ String str = hw.World(); assertEquals("测试World失败!", str, "hello"); } public void testNotNil(){ // 测试对象不为空,如果为空,则测试失败 assertNotNull("对象为空!", hw.NotNil()); } public void testNil(){ // 测试对象为空,如果不空,则测试失败 assertNull("对象不为空,测试失败!", hw.Nil()); } public void testExt(){ try{ hw.ext(); fail("没有抛出异常!!"); }catch(NumberFormatException e){ } } // 结束方法 @Override protected void tearDown() throws Exception{ super.tearDown(); System.out.println("Hello World destory!"); hw = null; } }
测试单元需要导入相应的 Junit jar包
时间: 2024-12-31 05:52:38