JUnit4学习(一)注解
1.注解方法:
Annotation | 含义 |
@Test public void method() | 定义一个要测试的方法 |
@Before public void method() | 在每一个测试之前都会被执行的方法,这个方法常常用来进行一 些测试环境的准备,比喻说读入输入数据,初始化类 |
@After public void method() | 与@Before进行对应,做一个清理工作 |
@BeforeClass public void method() | 在所有的测试开始之前执行,这个方法在类运行的时候运行, 而且只会运行一次,所以常常用来做一些所有的方法都要依赖 到工作,比喻说,数据库的链接。 |
@AfterClass public void method() | 与@BeforeClass进行对应,做一些类级别的清理工作 |
@Ignore | 表明方法是被忽略的,这个方法非常实用,比喻你的方法已经 修改,但是对应的测试方法还没有得到一致的修改的时候,可以 忽略掉这个测试方法先。 |
@Test(expected=IllegalArgumentException.class) | 检查测试方法是不是抛出了对应的异常 |
@Test(timeout=100) | 如果方法的执行操作所耗费的毫秒数>100MS,那么方法失败。 |
2.断言方法:
3.Before和After的简单测试:
package com.junit.demo; public class MathDemo { public int add(int a,int b){ return a+b; } public int div(int a,int b){ return a/b; } }
JUnit测试:
package com.junit.test; import static org.junit.Assert.*; import java.util.logging.Logger; import org.junit.After; import org.junit.Before; import org.junit.Test; import com.junit.demo.MathDemo; public class MathDemoTest { private MathDemo demo; private Logger logger=Logger.getLogger(this.getClass().getName()); @Before public void setUp() throws Exception { logger.info("测试开始的准备"); demo=new MathDemo(); } @After public void tearDown() throws Exception { logger.info("测试结束前的操作"); demo=null; } @Test public void testAdd() { int actual=demo.add(4, 5); int expected=9; assertEquals(expected, actual); } @Test public void testDiv() { int actual=demo.div(9, 3); int expected=3; assertEquals(expected, actual); } }
输出结果:
2009-7-27 10:47:55 com.junit.test.MathDemoTest setUp
信息: 测试开始的准备
2009-7-27 10:47:55 com.junit.test.MathDemoTest tearDown
信息: 测试结束前的操作
2009-7-27 10:47:55 com.junit.test.MathDemoTest setUp
信息: 测试开始的准备
2009-7-27 10:47:55 com.junit.test.MathDemoTest tearDown
信息: 测试结束前的操作
@Before public void method() |
在每一个测试之前都会被执行的方法,这个方法常常用来进行一 些测试环境的准备,比喻说读入输入数据,初始化类 |
@After public void method() |
与@Before进行对应,做一个清理工作 |