Java Junit单元测试(基础篇)
什么是单元测试?
单元测试就是针对最小的功能单元编写测试代码,Java程序最小的功能单元是方法,因此,单元测试就是针对Java方法的测试,进而检查方法的正确性
目前测试方法是怎么进行的,存在什么问题?
1、只有一个main方法,如果一个方法的测试失败了,其他方法测试会受到影响
2、无法得到测试的结果报告,需要程序员自己去观察测试是否成功
3、无法实现自动化测试
Junit单元测试框架
1、Junit是使用Java语言实现的单元测试框架,它是开源的,Java开发者都应当学习并使用Junit编写单元测试
2、此外,几乎所有的IDE工具都集成了Junit,这样我们就可以直接在IDE中编写并运行Junit测试,Junit目前最新版本是5
Junit优点
1、Junit可以灵活的选择执行哪些测试方法,可以一键执行全部测试方法
2、Junit可以生成全部方法的测试报告
3、单元测试中的某个方法测试失败了,不会影响其他测试方法的测试
单元测试快速入门 :
1、将Junit的jar包导入到项目中,idea通常整合好了Junit框架,一般不需要导入;
如果IDEA没有整合好,需要自己手动导入Junit的jar包到模块,手动下载并添加JUnit库:
- 访问JUnit的官方网站:JUnit 5。
- 下载JUnit的JAR文件(通常是junit-platform-console-standalone.jar)。
- 将下载的JAR文件添加到您的项目中的类路径中
2、编写基本测试方法:该测试方法必须是公共的无参数无返回值的非静态方法
import org.junit.Test;
public class Tests {
public void test() {
System.out.println("测试1");
}
}
3、常见Junit注解
@test
@Test
注解用于标识测试方法。JUnit将执行所有带有@Test
注解的方法,并报告测试结果
import org.junit.Test;
public class Tests {
@Test
public void test() {
System.out.println("测试1");
}
}
@Before
和@After
@Before
和@After
注解用于在测试方法之前和之后执行一些设置或清理工作。这对于准备测试环境和资源的初始化非常有用
@Before
public void setUp() {
// 执行测试前的准备工作
}
@After
public void tearDown() {
// 执行测试后的清理工作
}
@BeforeEach
和@AfterEach
@BeforeEach
和@AfterEach
注解与@Before
和@After
类似,但它们在每个测试方法之前和之后执行,而不是在测试类级别执行
@BeforeEach
public void init() {
// 在每个测试方法前执行初始化
}
@AfterEach
public void cleanup() {
// 在每个测试方法后执行清理工作
}
@Disabled
@Disabled
注解用于禁用测试方法。被标记为@Disabled
的测试方法不会被执行
@Disabled
@Test
public void disabledTest() {
// 这个测试方法被禁用
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通