Bootstrap

单元测试从创建测试文件到注解、以及一些常用断言详解

一、创建测试文件

1、选中要测试的文件

右击>>>new>>>JUnit Test Case

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

二、用到的方法

1、导包
//在eclipse中可以.后回车,或者写完一个之后,后面的测试复制开头,或者等待提示自己补全
import static org.hamcrest.Matchers.*;
import static org.hamcrest.MatcherAssert.*;
2、RunWith
	//特殊运行器
@RunWith(Parameterized.class)
public class changeTest{
	String x;
	String exe;
3、参数化测试(@Parameters)
//特殊函数参数化
	@Parameters
	public static Collection<Object[]>data(){
		return Arrays.asList(new Object[][]{
			//测试数据
			{"abeee","替换前缀后的字符串为:efeee"},
			{"eecd","替换cd后的字符串为:eegh"},
			{"eeee","大写字母的字符串为:EEEE"}
				
		});			
	}

三、断言

用来检测实际结果是否和预期结果一致

JUnit主要用的几个断言:

1、assertEquals()

用于检查两个值是否相等,不等抛出 AssertionError,接受两个参数,前面的是期望值后面的是实际值

assertEquals(expected, actual);
2、 assertTrue()

用于检查一个条件是否为 true,否则抛出 AssertionError

assertTrue(condition);
3 、assertFalse()

是否为false

assertFalse(condition);
4、assertNull()

用于检查一个对象是否为 null,不为 null,则抛出 AssertionError

assertNull(object);
5 、assertNotNull()

是否不为 null,如果为 null,异常

assertNotNull(object);
6、 assertSame()

是否完全相同

assertSame(expected, actual);
7 、assertNotSame()

是否不相同

assertNotSame(expected, actual);
8 、assertThat()

检查一个值是否满足特定条件,需要使用 Matchers 类库(前面要背住的导包)

//actual 表示实际值,matcher 表示匹配器
assertThat(T actual, Matcher<? super T> matcher);

四、注解

类似python里的语法糖

常用注解
​ @Test:将一个普通的方法修饰成为一个测试方法
​ @Test(expected=XX.class)
​ @Test(timeout=毫秒)
​ @BeforeClass:它会在所有的方法运行前被执行,static修饰
​ @AfterClass:它会在所有的方法运行结束后被执行,static修饰
​ @Before:会在每一个测试方法被运行前执行一次
​ @After:会在每一个测试方法运行后被执行一次
​ @Ignore:所修饰的测试方法会被测试运行器忽略
​ @RunWith:可以更改测试运行器 org.junit.runner.Runner
1、@RunWith

@Runwith 可以运行的Runner有很多

当类被@RunWith注解修饰,或者类继承了一个被该注解修饰的类,JUnit将会使用这个注解所指明的运行器(runner)来运行测试,而不是JUnit默认的运行器

;