0.断言简介
断言:assert
Q:断言的作用
更方便的对结果进行判定
"有针对性"的if判断
- 针对两个变量值是否相同 使用assertEquals
- 针对两个对象是否相同 使用assertSame
- 针对返回值是否为True 使用assertTrue
1.断言的参数
assertXXX(”断言失败时提升的信息“,预期结果,实际结果)
例(判断两个值是否相同):
assertEquals(“预取结果和实际结果不同”,233,244)
不论用于判断什么的断言 第一个参数都为断言失败时的提升信息(固定的)
2.如何使用断言
1,导入断言相关库
import org.junit.Assert.*;
2.编写测方法并使用断言
// 判断是否相等值@Testpublic 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.测试代码
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;
// 判断是否相等值@Testpublic void testAssertEqualus_1() {int a=111;
// 判断int类型是否相同
// 参数:判断不同时提示的内容,预期结果,被判断的结果assertEquals("不相同原因是:", a,a);}// 判断是否相等 值@Testpublic 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);}
// 判断是否为同一个对象@Testpublic void testAssertSame() {assertSame("判断是否为同一个变量断言失败1:", a,a);assertSame("判断是否为同一个变量断言失败2:", a,b);}
// 判断是否为空@Testpublic void testAssertNull() {String g=null;assertNull("判断是否为空断言失败:",g);}
// 判断是否不为空@Testpublic void testAssertNotNull() {String g=null;assertNotNull("判断是否不空断言失败:",g);}// 判断返回值是否为True@Testpublic void testAssertTrue() {boolean flag=true;assertTrue("断言失败:",flag);}// 判断返回值是否为False@Testpublic void testAssertFalse() {boolean flag=false;assertFalse("断言失败:",flag);}}
5.总结
- 断言是用来实际结果和预期结果是否相同的 “有针对性”的if判断
- 使用断言之前要断言相关的类库 org.junt.Assert.*
- 常用断言可以判断是否为相同变量,对象是否会为空(非空)
- 对应浮点数 判断方式的 实际值-预期值<误差 的等式是否成立 !使用时要注意
- 断言的使用要在测试方法中
- 断言的第一个参数的固定的 都是 断言失败时的提示信息
- 不同类型的断言 参数个数不同