[译]JUnit 5 入门 - 编写第一段测试代码
文章目录
本文翻译自Getting Started with JUnit 5: Writing Your First Test。
在本文中,我们将学习如何编写和运行简单的JUnit5
单元测试、如何设置前提条件、与我们想测试的对象进行交互,以及验证程序是否按照预期执行。
本文是JUnit 5 教程的一部分。
设置
附带的源码示例已经包含基于Maven
和Gradle
的配置,但为了方便起见,同时也提供了分步教程指南。
编写第一个测试
当我们测试某段代码时,我们希望确保其能够按照预期来运行。在编写自动化测试时基于下述步骤:
- 首先,对我们要测试的代码设置前提条件
- 接下来,对代码进行交互测试
- 最后,检查执行结果是否符合预期
这被称为Arrange,Act,Assert模式。
接下来看一下我们想要测试的代码:
public class Calculator {
public int add(int first, int second) {
return first + second;
}
}
这是一个非常简单的计算器类,主要用于两数相加,在测试此段代码时,我们希望计算结果是正确的。
我们可基于Arrange,Act,Assert模式按下述步骤实现:
- 首先构造一个
Calculator
类的实例 - 然后传递调用
add()
方法并将结果存储起来 - 最后,通过调用
assertEquals()
来比较实际结果和预期结果
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
class CalculatorTest {
@Test
void addNumbers() {
// Arrange
Calculator calculator = new Calculator(); <strong>x</strong>
// Act
int sum = calculator.add(1, 2);
// Asset
Assertions.assertEquals(3, sum);
}
}
测试类可以用任何名称,但在本文中我们将测试代码放入CalculatorTest
类中,我们将测试类简单叫做addNumbers()
以便能够描述我们正在尝试做的事情。
为了能够执行测试,我们需要给测试方法加上@Test
注解,通过这种方式测试执行器能将该方法识别为一个测试方法。
运行测试
我们可以有多种方式运行测试代码,当使用IDE工具时可以从IDE工具中直接运行,我们也可以使用像Maven
或Gradle
这样的构建工具在命令行中执行测试。
当软件(代码)按照预期执行时,测试结果为pass
,当出现预期之外的结果时,测试结果为failed
。
在 Intellij IDEA中运行
在使用类似Intellij IDEA这类IDE工具时,我们可以直接右键点击测试类并且选择运行CalculatorTest
,或者我们可以使用快捷键Ctrl+Shift+F10
(Windows系统)和Ctrl+Shift+R
(Mac系统)来运行测试。
下图中可以查看在Intellij IDEA中执行JUnit 5
测试通过的结果:
在Maven中运行
若要使用Maven
从命令行运行测试,可执行下述命令:
mvn test
之后将能看见类似如下的输出:
[INFO] -------------------------------------------------------
[INFO] T E S T S
[INFO] -------------------------------------------------------
[INFO] Running com.arhohuttunen.CalculatorTest
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.021 s - in com.arhohuttunen.CalculatorTest
[INFO]
[INFO] Results:
[INFO]
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
在Gradle中运行
若要使用Gradle
从命令行运行测试,可执行下述命令:
gradle test
之后将能看见类似如下输出:
> Task :test
com.arhohuttunen.CalculatorTest > addNumbers() PASSED
BUILD SUCCESSFUL in 0s
总结
在这个JUnit 5
入门示例中,我们学习了如何编写和运行简单的JUnit 5
测试,本文的示例代码能在GitHub中找到。