开始使用 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 工具窗口中单击
以导入更改。

添加依赖项后,您的 pom.xml 文件将类似于以下内容:
编写应用程序代码
让我们添加一些我们将要测试的代码。
在 项目 工具窗口 Alt+1 中,右键单击 src/main/java 文件夹并选择 。 将该类命名为
Calculator.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); } }
创建项目
在主菜单中,前往 。
在 新建项目 向导中,从左侧列表中选择 Java。
为项目指定名称,例如
junit-tutorial,并选择 Gradle 作为构建工具。从 JDK 列表中选择您想在项目中使用的 JDK。
如果 JDK 已安装在您的计算机上,但未在 IDE 中定义,请选择 添加 JDK 并指定 JDK 主目录的路径。
如果您的计算机上没有必要的 JDK,请选择 下载JDK。
点击 创建。
添加依赖项
新创建的 Gradle 项目通常默认包含最新的 JUnit 依赖项。 如果缺少该依赖项,您可以手动将 JUnit 添加为依赖项。
在项目根目录中打开 build.gradle 。
在 build.gradle 中,按 Alt+Insert 并选择 添加 Maven 工件依赖。
在打开的工具窗口中,在搜索字段中输入
org.junit.jupiter:junit-jupiter。在搜索结果中找到所需的依赖项并单击 添加。
将依赖项添加到 build.gradle 后,按 Ctrl+Shift+O ,或在 Gradle 工具窗口中单击
以导入更改。
编写应用程序代码
让我们添加一些我们将要测试的代码。
在 项目 工具窗口 Alt+1 中,右键单击 src/main/java 文件夹并选择 。 将该类命名为
Calculator.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); } }
创建项目
在主菜单中,前往 。
在 新建项目 向导中,从左侧列表中选择 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 中,右键单击顶级文件夹并选择 。
将新目录命名为 test 。
右键单击新的 test 目录并选择 。
test 目录在 项目 工具窗口中的颜色会变为绿色
。
通过创建专用的测试文件夹,您可以将测试代码与生产代码分离。 这有助于让 IDE 识别测试、应用正确的设置,并一致地组织它们。 这也可确保测试能够正确编译并运行,而不会干扰您的主源文件。
有关更多信息,请参阅 测试源根目录。
编写应用程序代码
让我们添加一些我们将要测试的代码。
在 项目 工具窗口 Alt+1 中,右键单击 src 文件夹并选择 。 将该类命名为
Calculator.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 表达式形式的断言,并确保它们全部被检查。 这比采用多个单一断言更方便,因为您将始终看到细化的结果,而不是整个测试的结果。
运行测试并查看其结果
在我们设置好测试代码后,我们可以运行测试,找出被测试的方法是否正常工作。
要运行单个测试,请在装订线中单击
并选择 运行。

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