开始使用 JUnit
在本教程中,您将学习如何为您的项目设置 JUnit,创建测试并运行它们以查看您的代码是否正确运行。 它仅包含让您入门的基本步骤。
如果您想了解更多关于 JUnit 的信息,请参考 官方文档。 要了解更多 IntelliJ IDEA 的测试功能,请参考本节中的其他主题。
您可以选择使用 Maven、Gradle 或 IntelliJ builder 来完成本教程。
创建项目
在主菜单中,前往 。
在 新建项目 向导中,从左侧列表中选择 Java。
指定项目名称,例如
junit-tutorial,并选择 Maven 作为构建工具。从 JDK 列表中选择您想在项目中使用的 JDK。
如果 JDK 已安装在您的计算机上,但未在 IDE 中定义,请选择 添加 JDK 并指定 JDK 主目录的路径。
如果您的计算机上没有必要的 JDK,请选择 下载JDK。
点击 创建。
添加依赖项
要让我们的项目使用 JUnit 功能,我们需要添加 JUnit 作为依赖项。
在项目根目录中打开 pom.xml 。
在 pom.xml 中,按下 Alt+Insert 并选择 依赖。
在打开的对话框中,在搜索字段中输入
org.junit.jupiter:junit-jupiter。在搜索结果中找到必要的依赖项,然后点击 添加。
在将依赖项添加到 pom.xml 后,按 Ctrl+Shift+O 或点击
中的 Maven 工具窗口以导入更改。
创建项目
在主菜单中,前往 。
在 新建项目 向导中,从左侧列表中选择 Java。
指定项目名称,例如
junit-tutorial,并选择 Gradle 作为构建工具。从 JDK 列表中选择您想在项目中使用的 JDK。
如果 JDK 已安装在您的计算机上,但未在 IDE 中定义,请选择 添加 JDK 并指定 JDK 主目录的路径。
如果您的计算机上没有必要的 JDK,请选择 下载JDK。
点击 创建。
添加依赖项
要让我们的项目使用 JUnit 功能,我们需要添加 JUnit 作为依赖项。
在项目根目录中打开 build.gradle 。
在 build.gradle 中,按下 Alt+Insert 并选择 添加 Maven 工件依赖。
在打开的工具窗口中,在搜索字段中键入
org.junit.jupiter:junit-jupiter。在搜索结果中找到必要的依赖项,然后点击 添加。
在将依赖项添加到 build.gradle 后,按 Ctrl+Shift+O 或点击
中的 Gradle 工具窗口以导入更改。
创建项目
在主菜单中,前往 。
在 新建项目 向导中,从左侧列表中选择 Java。
指定项目名称,例如
junit-tutorial,并选择 IntelliJ 作为构建工具。从 JDK 列表中选择您想在项目中使用的 JDK。
如果 JDK 已安装在您的计算机上,但未在 IDE 中定义,请选择 添加 JDK 并指定 JDK 主目录的路径。
如果您的计算机上没有必要的 JDK,请选择 下载JDK。
点击 创建。
添加依赖项
要让我们的项目使用 JUnit 功能,我们需要添加 JUnit 作为依赖项。
在主菜单中,前往 (Ctrl+Alt+Shift+S)。
在 项目设置 下,选择 库 并点击
。
在打开的对话框中,指定必要的库 artifact,例如:
org.junit.jupiter:junit-jupiter:5.9.1。应用更改并关闭对话框。

编写应用程序代码
让我们添加一些我们将要测试的代码。
在 项目 工具窗口 Alt+1 中,进入 src/main/java 并创建一个名为
Calculator.java的 Java 文件。请将以下代码粘贴到文件中:
import java.util.stream.DoubleStream; public class Calculator { static double add(double... operands) { return DoubleStream.of(operands) .sum(); } static double multiply(double... operands) { return DoubleStream.of(operands) .reduce(1, (a, b) -> a * b); } }
创建测试
现在让我们创建一个测试。 一个 test是一段代码,其功能是检查另一段代码是否正常运行。 为了进行检查,它调用测试方法并将结果与预定义的 预期结果进行比较。 预期结果可以是例如特定的返回值或异常。
将文本光标置于
Calculator类声明的地方,然后按 Alt+Enter。 或者,右键点击它并选择 显示上下文操作。 从菜单中选择 创建测试。
选择我们将要测试的两个类方法。

编辑器会将您带到新创建的测试类。 请按如下方式修改
add()测试:@Test @DisplayName("Add two numbers") void add() { assertEquals(4, Calculator.add(2, 2)); }这个简单的测试将检查我们的方法是否正确地将 2 和 2 相加。
@DisplayName注解为测试指定了一个更方便且信息量更大的名称。如果您希望在单个测试中添加多个断言并执行它们,而不管其中一些是否失败,该怎么办? 让我们为
multiply()方法做这件事:@Test @DisplayName("Multiply two numbers") void multiply() { assertAll(() -> assertEquals(4, Calculator.multiply(2, 2)), () -> assertEquals(-4, Calculator.multiply(2, -2)), () -> assertEquals(4, Calculator.multiply(-2, -2)), () -> assertEquals(0, Calculator.multiply(1, 0))); }assertAll()方法采用一系列 lambda 表达式形式的断言,并确保它们全部被检查。 这比采用多个单一断言更方便,因为您将始终看到细化的结果,而不是整个测试的结果。
运行测试并查看其结果
在我们设置好测试代码后,我们可以运行测试,找出被测试的方法是否正常工作。
要运行单个测试,请点击
并选择 运行。

要运行测试类中的所有测试,请点击测试类声明旁边的
并选择 运行。
您可以在 运行 工具窗口中查看测试结果。
