0.断言简介
断言:assert
Q:断言的作用
更方便的对结果进行判定
"有针对性"的if判断
- 针对两个变量值是否相同 使用assertEquals
- 针对两个对象是否相同 使用assertSame
- 针对返回值是否为True 使用assertTrue
1.断言的参数
assertXXX("断言失败时提升的信息",预期结果,实际结果)
例(判断两个值是否相同):
assertEquals("预取结果和实际结果不同",233,244)
不论用于判断什么的断言 第一个参数都为断言失败时的提升信息(固定的)
2.如何使用断言
1,导入断言相关库
import org.junit.Assert.*;
2.编写测方法并使用断言
java
// 判断是否相等值
@Test
public void testAssertEqualus_1() {
int a=111;
assertEquals("不相同原因是:", a,a);
}
3.常见的断言
@assterEquals()
功能:判断两个值是否相同
- 能判断 int 、short 、long 、byte 、char 或 java.lang.Object
参数:assertEqules("断言失败是时的提升信息",预期结果,实际结果) - *如果是doule 或者是 float 则需要另外加一个参数(误差)
判断方式:实际结果-预期结果<=误差
assertEqules("断言失败",2.333,2.334,0.001)
2.334-2.333<=0.001成立 则断言通过
assertEqules("断言失败",2.333,2.334,0.0001)
2.334-2.333<0.0001不成立 则断言不通过
assertNull()
功能:判断对象是否为空
参数:assertNUll("断言错误的提示信息,判断对象")
assertNotNUll()
功能:判断对象是否不为空
参数:assertNUll("断言错误的提示信息,判断对象")
assertTrue()
功能:判断 返回值是是否为True
参数:assertNUll("断言错误的提示信息,判断对象")
assertFales()
功能:判断 返回值是是否为Fasle
参数:assertNUll("断言错误的提示信息,判断对象")
4.测试代码
java
package com.jaylan.example;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertSame;
import static org.junit.Assert.assertTrue;
//引入断言相关库
import org.junit.Assert.*;
import org.junit.Test;
//常用断言(特殊的判断条件)
public class ExampleTest_2 {
int b=222;
int c=333;
double d=1.111;
// 判断是否相等值
@Test
public void testAssertEqualus_1() {
int a=111;
// 判断int类型是否相同
// 参数:判断不同时提示的内容,预期结果,被判断的结果
assertEquals("不相同原因是:", a,a);
}
// 判断是否相等 值
@Test
public void testAssertEqualus_2() {
double e=2.333;
double f=2.334;
// 判断double类型是否相同
// 参数:判断不同时提示的内容,预期结果,被判断的结果,精度
// 判断方式 A-B<误差值
// 精度为小数点后4位数
assertEquals("断言1失败原因是:",f,e,0.0001);//A-B=0/=.001 > 0.0001 所以会断言失败
// 精度为下小数点后
assertEquals("断言2失败原因是:",f,e,0.001);
}
// 判断是否为同一个对象
@Test
public void testAssertSame() {
assertSame("判断是否为同一个变量断言失败1:", a,a);
assertSame("判断是否为同一个变量断言失败2:", a,b);
}
// 判断是否为空
@Test
public void testAssertNull() {
String g=null;
assertNull("判断是否为空断言失败:",g);
}
// 判断是否不为空
@Test
public void testAssertNotNull() {
String g=null;
assertNotNull("判断是否不空断言失败:",g);
}
// 判断返回值是否为True
@Test
public void testAssertTrue() {
boolean flag=true;
assertTrue("断言失败:",flag);
}
// 判断返回值是否为False
@Test
public void testAssertFalse() {
boolean flag=false;
assertFalse("断言失败:",flag);
}
}
5.总结
- 断言是用来实际结果和预期结果是否相同的 "有针对性"的if判断
- 使用断言之前要断言相关的类库 org.junt.Assert.*
- 常用断言可以判断是否为相同变量,对象是否会为空(非空)
- 对应浮点数 判断方式的 实际值-预期值<误差 的等式是否成立 !使用时要注意
- 断言的使用要在测试方法中
- 断言的第一个参数的固定的 都是 断言失败时的提示信息
- 不同类型的断言 参数个数不同