单元测试
单元测试叫做模块测试,属于白盒测试,就是开发者编写的一小段代码,用于检测某个功能是否正确。
白盒测试是懂代码的开发做的,需要对项目代码的进行编写测试代码。黑盒测试就只看功能是否正确而不看代码。
我们一般情况下想要运行测试一下某个功能,都是新建一个test类写一个main方法进行测试,这样虽然在单个测试类的时候很方便,但是需要测试多个的时候对测试代码的修修改改显得有点繁琐。于是Junit就诞生了。
测试成败
Junit测试失败有两种情况:
Failure:
一般是由单元测试使用的断言方法判断失败的所引起的,表示测试点发现了问题,就是说程序输出的结果和我们逾期的不一样
@Test
void getManyBinaryOperaiton() {
boolean b = new File("AddSubOperation.txt").exists();
Assert.assertEquals(b,false);
if (!b){
System.out.println("AddSubOperation.txt不存在啊宝贝!");
}
}
Error:
这个错误就是由代码异常引起的,它可以是测试代码本身的错误,也可以是被测试代码的中的一个隐藏的bug
Junit常用注解
- @Test :将一个普通的方法修饰成为一个测试方法
- @BeforeClass :他会在所有的方法运行前被执行,static修饰,只执行一次
- @AfterClass: 他会在所有的方法运行结束后被执行,static修饰,只执行一次
- @After : 会在每一个测试方法运行后被执行一次
- @Before : 会在每一个测试方法运行前被执行一次
- @Ignore : 所修饰的测试方法会被测试运行器忽略
注意一下Junit4&5的一点区别:
断言
很朴素的方法,使用断言:Assert.assertEquals(a,b)
判断两个值是否一致,一致就通过,不一致停止程序
不止上边一个方法啦,还有很多,慢慢摸索
除了Junit的断言Assert,其实java也有断言,叫做assert类型,定义一个变量接收返回值,然后调用方法........
Hello Junit
import org.junit.Before;
import org.junit.Ignore;
import org.junit.jupiter.api.Test;
import java.io.File;
import static org.junit.jupiter.api.Assertions.*;
/**
* @author Li Sipeng
* @version 4.1 on 2022-11-20 0:09
*/
class OperationBaseTest extends BinaryOperation {
@Before
public void init(){
}
@Test
void setManyBinaryOperaiton() {
}
@Ignore
@Test
void getManyBinaryOperaiton() {
boolean b = new File("AddSubOperation.txt").exists();
// Assert.assertEquals(b,false);
if (!b){
System.out.println("AddSubOperation.txt不存在啊宝贝!");
}
}
@Test
public void isEqual(){
}
}
在IDEA中使用Junit
首先安装Junit插件
然后需要给项目指定一个测试的目录:
此时在在test目录是跟src同级,而且主要test目录是绿色的,不是就标记一下
现在安装好插件、配置好测试目录了,下一步就进行测试了,先创建一个测试类。
创建测试类两种方式,一种在需要测试的类名上右键go to -> test,二种就直接快捷键Ctrl+Shift+T,直接生成。
如此一来就生成了测试类,然后在测试类中就可以编辑自己想要测试的功能了(如上边的Hello Junit),相关使用方式都在上边介绍了
标签:void,单元测试,测试,Test,import,Junit From: https://www.cnblogs.com/ruyan-lx/p/16908243.html