单元测试就是针对最小功能单元编写测试代码
1 JUnit
Unit 是一个 Java编程语言的单元测试框架,java程序最小的功能是方法,单元测试就是针对java方法的测试。测试单元中的每个方法必须可以独立测试,方法间不能有任何依赖
1.1 JUnit结构体系
1.2 JUnit的使用
1.1 测试类与测试方法
测试类一般使用 Test 作为类名的后缀;测试方法必须使用 @Test 修饰,必须使用 public void 进行修饰,不能带参数,测试方法使一般用 test 作为方法名的前缀。
一般使用单元测试会新建一个 test 目录存放测试代码,在生产部署的时候只需要将 test 目录下代码删除即可
1.2 注解
注解符号 | 描述说明 |
---|---|
@Test |
将一个普通方法修饰成一个测试方法 |
@BeforeClass |
static 方法 (全局只会执行一次,而且是第一个运行),在测试类中所有方法执行前执行 |
@AfterClass |
static 方法 (全局只会执行一次,而且是最后一个运行),在测试类中所有方法执行完成后执行 |
@Before |
会在每一个测试方法被运行前执行一次 |
@After |
会在每一个测试方法运行后被执行一次 |
@Ignore |
所修饰的测试方法会被测试运行器忽略 |
@RunWith |
可以更改测试运行器 org.junit.runner.Runner |
Parameters |
参数化注解 |
package com.dw.service;
import static org.junit.Assert.*;
import org.junit.BeforeClass;
public class DemoTest {
Demo demo;
public DemoTest(){
System.out.printIn("DemoTest对象初始化");
}
@BeforeClass
public static void beforeClass(){
System.out.println("beforeClass方法");
}
@Before
public void before(){
demo= new_Demo();
}
@Test
public void testAdd() {
assertEquals("12",demo.add("9",1, 2 )) ;
}
@Ignore // 忽略测试
public void testMul() {
assertEquals("26",demo.muml("8",1)) ;
}
@After
public void after(){
System.out.println("资源释放");
}
1.3 断言
断言方法 | 描述说明 |
---|---|
void assertEquals(boolean expected, boolean actual) |
检查两个变量或者等式是否平衡 |
void assertTrue(boolean condition) |
检查条件为真 |
void assertFalse(boolean condition) |
检查条件为假 |
void assertNotNull(Object object) |
检查对象不为空 |
void assertNull(Object object) |
检查对象为空 |
void assertSame(Object expected, Object actual) |
检查两个相关对象是否指向同一个对象 |
void assertNotSame(Object expected, Object actual) |
检查两个相关对象是否不指向同一个对象 |
void assertArrayEquals(expectedArray, resultArray) |
检查两个数组是否相等 |