南海网站设计,优秀的网络广告案例,广告优化师,素材网站排行榜前十名文章目录 1.定义2.引入1#xff09;使用 Maven 工具2#xff09;使用 Gradle 工具3#xff09;使用 Jar 包 2.样例0#xff09;前提1#xff09;测试类2#xff09;测试方法3#xff09;测试断言4#xff09;实施 总结 1.定义
JUnit 是一个流行的 Java 单元测试框架使用 Maven 工具2使用 Gradle 工具3使用 Jar 包 2.样例0前提1测试类2测试方法3测试断言4实施 总结 1.定义
JUnit 是一个流行的 Java 单元测试框架用于编写和执行测试。它提供了一组注解和断言使得单元测试的编写变得简单且直观。 程序开发过程中不变的永远是变化 因此单元测试极为重要通过使用我们所编写的 JUnit 测试用例来验证代码的正确性并且还可以确保代码在之后的修改或重构后仍然能够正常工作。
2.引入
在 Java 项目中引入 JUnit 主要有以下几种常用的方式
1使用 Maven 工具
在 Maven 项目的 pom.xml 文件中添加 JUnit 依赖
dependenciesdependencygroupIdjunit/groupIdartifactIdjunit/artifactIdversion4.13.2/version !-- 自己选择需要的版本 --scopetest/scope/dependency
/dependencies2使用 Gradle 工具
在 Gradle 项目的 build.gradle 文件中添加 JUnit 依赖
testImplementation junit:junit:4.13.2 // 自己选择需要的版本3使用 Jar 包
需要手动下载 JUnit Jar 包可以从 JUnit 官方网站下载并添加到项目的类路径下
JUnit 官网下载地址
JUnit4https://junit.org/junit4/JUnit5https://junit.org/junit5/
2.样例 编写 测试用例 的基本流程 大概是创建一个 测试类 》编写N组 测试方法 》编写N组 断言 接下来就让我们逐一认识一下吧
0前提
想要测试嘛肯定要有需要测试的代码呀 此处选择使用了 Maven 导入 JUnit
本 Demo 类中存在了两个方法分别是用于加法运算的 add 以及 用于减法运算的 sub
class Demo {public int add(int a, int b) {return a b;}public int sub(int a, int b) {return a - b;}
}1测试类
在 JUnit 中测试用例通常以一个包含测试方法的测试类为单位
测试类是一个普通的 Java 类其中包含了一个或多个使用 Test 注解标记的测试方法
2测试方法
测试方法用 Test 注解进行标记这告诉 JUnit 这是一个测试方法。测试方法包含用于验证代码行为的断言
3测试断言
在 JUnit 中提供了一组断言方法用于验证预期结果是否符合实际结果。例如assertEquals(expected, actual) 用于比较预期值和实际值是否相等
4实施
点击代码左侧的 绿色运行按钮 然后点击 Run xxxx 即可。也可以在代码区内点击 鼠标右键 然后 Run xxxx 说明这种点击就是运行当前类的全部测试方法也可以单独运行指定的测试方法 示例代码 import static org.junit.jupiter.api.Assertions.assertEquals;
import org.junit.jupiter.api.Test;class MyFirstJUnitJupiterTests {private final Demo demo new Demo();Testvoid add() {assertEquals(2, demo.add(1, 1));}Testvoid sub() {assertEquals(4, demo.sub(5, 1));}
}这里使用的 assertEquals(expected, actual) 是验证预期值和实际值是否相等 运行结果
1正常结果 可以看到 两个方法都是 绿色✔说明其正确。
2异常结果
修改一下 sub 方法的期待结果将其结果故意修改为错误值 3
Test
void sub() {assertEquals(3, demo.sub(5, 1));
}可以看到 第一个方法 add 是绿色✔而第二个方法 sub 则是 黄色 X 说明其错误
总结
这样我们就使用 JUnit 这个流行的 Java 单元测试框架编写了第一个单元测试用例啦JUnit 提供的方法还有很多此处只是简单的使用了 Test 和 assertEquals 它还拥非常多的功能待我们去研究及运用。