0. 准备Maven
在mac上配置参考:http://www.jianshu.com/p/191685a33786
前置知识:Maven项目管理
JUnit官网:junit.org,目前最新版本是JUnit5+java8
概念:Java单元测试框架
目的:生成可复用测试集,提高代码质量
1. 从一个例子着手
新建maven项目,在xml文件中配置:
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
</dependencies>
然后编译:mvn clean install -Dtest.skip=true , mvn idea:idea ,看到BUILD SUCCESS就OK了。
新建JavaClass,添加函数AddOperation:
public class AddOperation {
public int add(int x, int y){
return x+y;
}
}
新建测试类AddOperationTest,添加函数:
import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
public class AddOperationTest {
private AddOperation addOperation;
@Before
public void setUp() throws Exception{
addOperation = new AddOperation();
}
@After
public void tearDown() throws Exception{
addOperation = null;
}
@Test
public void addTest(){
Assert.assertEquals("1+1=2",addOperation.add(1,1),2);
}
}
直接run一下跑通即可:
2. 使用注解
- @BeforeClass: 所有测试开始之前运行(被标记的方法必须是static的),只运行一次
- @Before: 每一个测试方法之前运行
- @Test : 测试方法,后边可以跟参数代表不同的测试,如(expected=XXException.class) 异常测试,(timeout=xxx)超时测试
- @After : 每一个测试方法之后运行
- @AfterClass: 所有测试结束之后运行(被标记的方法必须是static的),只运行一次
- @Ignore : 被忽略的测试方法