# 准备测试

> For the complete documentation index, see [llms.txt](https://www.jetbrains.com.cn/help/idea/llms.txt).

IntelliJ IDEA 开箱即用，支持多种 Java 测试框架，例如， [JUnit](junit.html)、 [Spock](spock.html)、或 [TestNG](testng.html)。

在 IDE 中，您可以直接从源代码创建测试类及必要的测试方法。 您可以通过快捷键在测试类和源代码之间切换，运行多个测试，查看每个测试的统计信息，并将测试结果导出到文件。

IntelliJ IDEA 还具有 [代码覆盖率](code-coverage.html) 功能，让您能够分析代码并了解哪些区域已被测试覆盖，哪些区域需要更多测试。

有关在其他语言中测试代码的更多信息，请参考：

* [测试 JavaScript](unit-testing-javascript.html)

* [测试 Node.js](unit-testing-node-js.html)

* [测试 PHP](https://www.jetbrains.com.cn/help/phpstorm/testing.html)（PhpStorm 文档）

* [测试 Python](https://www.jetbrains.com.cn/help/pycharm/testing-frameworks.html)

## 添加测试库

IntelliJ IDEA 项目:

IntelliJ IDEA 允许您在编码时添加缺失的库：一旦 IDE 检测到您正在使用尚未添加到项目中的库的某些代码，它将提示您下载并安装该库。

![通过快速修复添加缺失的库](https://resources.jetbrains.com.cn/help/img/idea/2026.3/add-lib-with-quickfix.png)

您还可以 [手动将库添加到您的项目中](https://www.jetbrains.com.cn/help/pycharm/installing-uninstalling-and-upgrading-packages.html)。 例如，如果需要特定的库版本或发行版，这会很有帮助。

Procedure: 手动添加一个 testing library

如果您正在使用本地 IntelliJ IDEA 构建器构建您的项目，请按照以下步骤添加库：

1. 在主菜单中，转到  `文件 | 项目结构` （ `Ctrl+Alt+Shift+S` (Windows), `⌘ ;` (macOS), `⌘ ;` (IntelliJ IDEA Classic (macOS)), `⌘ ⇧ Comma` (macOS System Shortcuts), `Ctrl+Alt+Shift+S` (XWin), `Ctrl+Alt+Shift+S` (GNOME), `Ctrl+Alt+Shift+S` (KDE), `Ctrl+Alt+Shift+S` (Emacs), `Ctrl+Alt+Shift+S` (Sublime Text), `⌘ ;` (Sublime Text (macOS)), `Ctrl+Alt+Shift+S` (Visual Studio), `⌘ ;` (Visual Studio (macOS)), `Ctrl+Alt+Shift+S` (NetBeans), `Ctrl+Alt+Shift+S` (Eclipse), `⌘ ;` (Eclipse (macOS))）。

2. 在   项目设置   下，选择   库   并点击 ![新建项目库按钮](https://resources.jetbrains.com.cn/help/img/idea/2026.3/app.expui.general.add.svg)  `| 来源于 Maven` 。

3. 在打开的对话框中，指定必要的库 artifact，例如：  `org.junit.jupiter:junit-jupiter:5.9.1`  。

4. 应用更改并关闭对话框。

![手动添加测试库到项目](https://resources.jetbrains.com.cn/help/img/idea/2026.3/add-testlib-manually.png)

Maven 项目:

IntelliJ IDEA 允许您在编码时添加缺失的库：一旦 IDE 检测到您正在使用尚未添加到项目中的库的一些代码，它将提示您下载该库。 在这种情况下，IDE 会自动向您的  `pom.xml` 添加必要的依赖项。

![通过快速修复添加缺失的库](https://resources.jetbrains.com.cn/help/img/idea/2026.3/add-lib-with-quickfix.png)

您还可以手动向项目添加库。 例如，如果需要特定的库版本或发行版，这会很有帮助。

Procedure: 使用依赖工具窗口添加库

如果您在项目中使用 Maven，请按照以下步骤操作：

1. 在您的  `pom.xml`  中，按下 `Alt+Insert` (Windows), `⌘ N` (macOS), `⌃ N` (IntelliJ IDEA Classic (macOS)), `⌘ N` (macOS System Shortcuts), `Alt+Insert` (XWin), `Alt+Insert` (GNOME), `Alt+Insert` (KDE), `Alt+Insert` (Emacs), `Alt+Insert` (Sublime Text), `⌘ N` (Sublime Text (macOS)), `Alt+Insert` (Visual Studio), `⌘ ⌃ N` (Visual Studio (macOS)), `Alt+Insert` (NetBeans), `Alt+Insert` (Eclipse), `⌘ N` (Eclipse (macOS)) 并选择   依赖  。

2. 在   Maven Artifact 搜索   工具窗口中，输入所需依赖项的名称，例如：  `org.junit.jupiter:junit-jupiter` 。 在结果列表中，选择所需项并点击   添加  。

![添加 Maven 依赖](https://resources.jetbrains.com.cn/help/img/idea/2026.3/add-maven-tests.png)

3. 将依赖项添加到  `pom.xml`  后，按 `Ctrl+Shift+O` (Windows), `Ctrl+Shift+O` (macOS), `Ctrl+Shift+O` (IntelliJ IDEA Classic (macOS)), `Ctrl+Shift+O` (macOS System Shortcuts), `Ctrl+Shift+O` (XWin), `Ctrl+Shift+O` (GNOME), `Ctrl+Shift+O` (KDE), `Ctrl+Shift+O` (Emacs), `Ctrl+Shift+O` (Sublime Text), `Ctrl+Shift+O` (Sublime Text (macOS)), `Ctrl+Shift+O` (Visual Studio), `Ctrl+Shift+O` (Visual Studio (macOS)), `Ctrl+Shift+O` (NetBeans), `Ctrl+Shift+O` (Eclipse), `Ctrl+Shift+O` (Eclipse (macOS))，或在   Maven   工具窗口中点击 ![重新导入所有 Maven 项目](https://resources.jetbrains.com.cn/help/img/idea/2026.3/app-client.expui.general.refresh.svg) 以导入更改。

有关使用 Maven 的更多信息，请参阅 [Maven 依赖项](work-with-maven-dependencies.html)。

Gradle 项目:

在 Gradle 项目中，手动将必要的依赖项添加到构建文件中。

Procedure:

1. 在您的  `build.gradle`  中，按下 `Alt+Insert` (Windows), `⌘ N` (macOS), `⌃ N` (IntelliJ IDEA Classic (macOS)), `⌘ N` (macOS System Shortcuts), `Alt+Insert` (XWin), `Alt+Insert` (GNOME), `Alt+Insert` (KDE), `Alt+Insert` (Emacs), `Alt+Insert` (Sublime Text), `⌘ N` (Sublime Text (macOS)), `Alt+Insert` (Visual Studio), `⌘ ⌃ N` (Visual Studio (macOS)), `Alt+Insert` (NetBeans), `Alt+Insert` (Eclipse), `⌘ N` (Eclipse (macOS)) 并选择   添加 Maven 工件依赖  。

2. 在   Maven Artifact 搜索   工具窗口中，输入所需依赖项的名称，例如：  `org.junit.jupiter:junit-jupiter` 。 在结果列表中，选择所需项并点击   添加  。

![添加 Maven 依赖](https://resources.jetbrains.com.cn/help/img/idea/2026.3/add-maven-tests.png)

3. 将依赖项添加到  `build.gradle`  后，按 `Ctrl+Shift+O` (Windows), `Ctrl+Shift+O` (macOS), `Ctrl+Shift+O` (IntelliJ IDEA Classic (macOS)), `Ctrl+Shift+O` (macOS System Shortcuts), `Ctrl+Shift+O` (XWin), `Ctrl+Shift+O` (GNOME), `Ctrl+Shift+O` (KDE), `Ctrl+Shift+O` (Emacs), `Ctrl+Shift+O` (Sublime Text), `Ctrl+Shift+O` (Sublime Text (macOS)), `Ctrl+Shift+O` (Visual Studio), `Ctrl+Shift+O` (Visual Studio (macOS)), `Ctrl+Shift+O` (NetBeans), `Ctrl+Shift+O` (Eclipse), `Ctrl+Shift+O` (Eclipse (macOS))，或在   Gradle   工具窗口中点击 ![重新导入所有 Gradle 项目](https://resources.jetbrains.com.cn/help/img/idea/2026.3/app-client.expui.general.refresh.svg) 以导入更改。

## 测试源根目录

在开始创建测试之前，请确保   测试源根目录   已为您的项目配置好。   测试源根目录   是一个存储您的测试代码的文件夹。 在   项目   工具窗口中，该文件夹标有 ![测试根图标](https://resources.jetbrains.com.cn/help/img/idea/2026.3/app.expui.nodes.testRoot.svg)   测试根   图标。

IDE 对来自不同来源的代码进行不同的处理。 例如，源代码和测试源代码的编译结果通常会放置在不同的文件夹中。 这就是为什么如果缺少测试源根目录，您需要创建一个。 否则，您的代码可能会被错误处理。

IntelliJ IDEA 项目:

Procedure: 为您的项目创建一个测试根目录

如果您使用本地 IntelliJ IDEA builder 构建项目，请按照以下步骤操作：

1. 在   项目   工具窗口（ `Alt+1` (Windows), `⌘ 1` (macOS), `⌘ 1` (IntelliJ IDEA Classic (macOS)), `⌘ 1` (macOS System Shortcuts), `Alt+1` (XWin), `Alt+1` (GNOME), `Alt+1` (KDE), `Alt+1` (Emacs), `Alt+1` (Sublime Text), `⌘ 1` (Sublime Text (macOS)), `Ctrl+Alt+L` (Visual Studio), `⌘ ⌥ L` (Visual Studio (macOS)), `Ctrl+1` (NetBeans), `Alt+1` (Eclipse), `Alt+1` (Eclipse (macOS))）中， [创建一个新目录](add-items-to-project.html#new-directory)，用于存储测试代码。露水世茂 19 号公馆。

2. 右键点击新目录并选择  `将目录标记为 | 测试源根目录` 。

测试 文件夹应被标记为 ![测试根图标](https://resources.jetbrains.com.cn/help/img/idea/2026.3/app.expui.nodes.testRoot.svg) 图标。

![创建测试源根目录](https://resources.jetbrains.com.cn/help/img/idea/2026.3/test-s-root.png)

Maven 项目:

Maven 为应用程序使用 [标准目录布局](https://maven.apache.org/guides/introduction/introduction-to-the-standard-directory-layout.html)。 通常，建议您在项目中遵循此布局。 例如，您在 IntelliJ IDEA 中为 Maven 项目创建测试文件夹时，IDE 会建议设置此类文件夹的标准名称和位置。 在这种情况下，IDE 也已经知道此测试文件夹是   测试源根目录  。

但是，可以通过修改构建文件来覆盖标准目录布局。

Procedure: 更改测试根目录

1. 在   项目   工具窗口（ `Alt+1` (Windows), `⌘ 1` (macOS), `⌘ 1` (IntelliJ IDEA Classic (macOS)), `⌘ 1` (macOS System Shortcuts), `Alt+1` (XWin), `Alt+1` (GNOME), `Alt+1` (KDE), `Alt+1` (Emacs), `Alt+1` (Sublime Text), `⌘ 1` (Sublime Text (macOS)), `Ctrl+Alt+L` (Visual Studio), `⌘ ⌥ L` (Visual Studio (macOS)), `Ctrl+1` (NetBeans), `Alt+1` (Eclipse), `Alt+1` (Eclipse (macOS))）中， [创建一个新目录](add-items-to-project.html#new-directory)，用于存储测试代码。露水世茂 19 号公馆。

2. 在您的  `pom.xml` 中，更改  `testSourceDirectory` 元素。

将  `src/new-test/test`  替换为要用作测试根的新文件夹的路径。

```XML
<build>
    <testSourceDirectory>src/new-test/test</testSourceDirectory>
</build>

```

3. 按 `Ctrl+Shift+O` (Windows), `Ctrl+Shift+O` (macOS), `Ctrl+Shift+O` (IntelliJ IDEA Classic (macOS)), `Ctrl+Shift+O` (macOS System Shortcuts), `Ctrl+Shift+O` (XWin), `Ctrl+Shift+O` (GNOME), `Ctrl+Shift+O` (KDE), `Ctrl+Shift+O` (Emacs), `Ctrl+Shift+O` (Sublime Text), `Ctrl+Shift+O` (Sublime Text (macOS)), `Ctrl+Shift+O` (Visual Studio), `Ctrl+Shift+O` (Visual Studio (macOS)), `Ctrl+Shift+O` (NetBeans), `Ctrl+Shift+O` (Eclipse), `Ctrl+Shift+O` (Eclipse (macOS))，或在   Maven   工具窗口中点击 ![重新导入所有 Maven 项目](https://resources.jetbrains.com.cn/help/img/idea/2026.3/app.actions.refresh.svg) 以导入更改。

新的测试根应在   项目   工具窗口中以 ![测试根图标](https://resources.jetbrains.com.cn/help/img/idea/2026.3/app.modules.testRoot.svg) 图标标记。

Gradle 项目:

就像 Maven 一样，Gradle 也有严格的项目 [目录布局](https://docs.gradle.org/current/userguide/organizing_gradle_projects.html)。 在 IntelliJ IDEA 为 Gradle 项目创建测试文件夹时，IDE 会建议设置此类文件夹的标准名称和位置。 在这种情况下，IDE 也已经知道此测试文件夹是   测试源根目录  。

但是，可以通过修改构建文件来覆盖标准目录布局。

Procedure: 使用另一个测试根目录

1. 在   项目   工具窗口（ `Alt+1` (Windows), `⌘ 1` (macOS), `⌘ 1` (IntelliJ IDEA Classic (macOS)), `⌘ 1` (macOS System Shortcuts), `Alt+1` (XWin), `Alt+1` (GNOME), `Alt+1` (KDE), `Alt+1` (Emacs), `Alt+1` (Sublime Text), `⌘ 1` (Sublime Text (macOS)), `Ctrl+Alt+L` (Visual Studio), `⌘ ⌥ L` (Visual Studio (macOS)), `Ctrl+1` (NetBeans), `Alt+1` (Eclipse), `Alt+1` (Eclipse (macOS))）中， [创建一个新目录](add-items-to-project.html#new-directory)，用于存储测试代码。露水世茂 19 号公馆。

2. 打开  `build.gradle`  并添加以下代码。

将  `src/new-test/test`  替换为要用作测试根的新文件夹的路径。

```GENERIC
sourceSets {
    test {
        java {
            srcDirs = ['src/new-test/test']
        }
    }
}

```

3. 按 `Ctrl+Shift+O` (Windows), `Ctrl+Shift+O` (macOS), `Ctrl+Shift+O` (IntelliJ IDEA Classic (macOS)), `Ctrl+Shift+O` (macOS System Shortcuts), `Ctrl+Shift+O` (XWin), `Ctrl+Shift+O` (GNOME), `Ctrl+Shift+O` (KDE), `Ctrl+Shift+O` (Emacs), `Ctrl+Shift+O` (Sublime Text), `Ctrl+Shift+O` (Sublime Text (macOS)), `Ctrl+Shift+O` (Visual Studio), `Ctrl+Shift+O` (Visual Studio (macOS)), `Ctrl+Shift+O` (NetBeans), `Ctrl+Shift+O` (Eclipse), `Ctrl+Shift+O` (Eclipse (macOS))，或在   Gradle   工具窗口中点击 ![重新导入所有 Gradle 项目](https://resources.jetbrains.com.cn/help/img/idea/2026.3/app.actions.refresh.svg) 以导入更改。

Procedure: 添加一个测试根目录

1. 在   项目   工具窗口（ `Alt+1` (Windows), `⌘ 1` (macOS), `⌘ 1` (IntelliJ IDEA Classic (macOS)), `⌘ 1` (macOS System Shortcuts), `Alt+1` (XWin), `Alt+1` (GNOME), `Alt+1` (KDE), `Alt+1` (Emacs), `Alt+1` (Sublime Text), `⌘ 1` (Sublime Text (macOS)), `Ctrl+Alt+L` (Visual Studio), `⌘ ⌥ L` (Visual Studio (macOS)), `Ctrl+1` (NetBeans), `Alt+1` (Eclipse), `Alt+1` (Eclipse (macOS))）中， [创建一个新目录](add-items-to-project.html#new-directory)，用于存储测试代码。露水世茂 19 号公馆。

2. 打开  `build.gradle`  并添加以下代码。

将  `src/new-test/test`  替换为要用作测试根的新文件夹的路径。

```GENERIC
sourceSets {
    test {
        java {
            srcDir 'src/new-test/test'
        }
    }
}

```

3. 按 `Ctrl+Shift+O` (Windows), `Ctrl+Shift+O` (macOS), `Ctrl+Shift+O` (IntelliJ IDEA Classic (macOS)), `Ctrl+Shift+O` (macOS System Shortcuts), `Ctrl+Shift+O` (XWin), `Ctrl+Shift+O` (GNOME), `Ctrl+Shift+O` (KDE), `Ctrl+Shift+O` (Emacs), `Ctrl+Shift+O` (Sublime Text), `Ctrl+Shift+O` (Sublime Text (macOS)), `Ctrl+Shift+O` (Visual Studio), `Ctrl+Shift+O` (Visual Studio (macOS)), `Ctrl+Shift+O` (NetBeans), `Ctrl+Shift+O` (Eclipse), `Ctrl+Shift+O` (Eclipse (macOS))，或在   Gradle   工具窗口中点击 ![重新导入所有 Gradle 项目](https://resources.jetbrains.com.cn/help/img/idea/2026.3/app.actions.refresh.svg) 以导入更改。

新的测试根应在   项目   工具窗口中以 ![测试根图标](https://resources.jetbrains.com.cn/help/img/idea/2026.3/app.modules.testRoot.svg) 图标标记。

通过创建专用的测试文件夹，您可以将测试代码与生产代码分离。 这有助于让 IDE 识别测试、应用正确的设置，并一致地组织它们。 这也可确保测试能够正确编译并运行，而不会干扰您的主源文件。

有关不同类型文件夹的更多信息，请参阅 [文件夹类别](content-roots.html#folder-categories)。

## 测试资源根目录

测试资源根目录   是一个存储与您的测试源相关的文件的文件夹。 在   项目  工具窗口中，此文件夹位于测试根目录，并标记有 ![测试资源根图标](https://resources.jetbrains.com.cn/help/img/idea/2026.3/app-client.expui.nodes.testResourcesRoot.svg)。

对于 Maven 和 Gradle 项目，测试资源文件夹通常会自动创建。 如果您使用原生 IntelliJ IDEA 构建器来构建项目，您可能需要手动创建资源根目录。

Procedure: 配置测试资源的文件夹

1. 在主菜单中，转到  `文件 | 项目结构` （ `Ctrl+Alt+Shift+S` (Windows), `⌘ ;` (macOS), `⌘ ;` (IntelliJ IDEA Classic (macOS)), `⌘ ⇧ Comma` (macOS System Shortcuts), `Ctrl+Alt+Shift+S` (XWin), `Ctrl+Alt+Shift+S` (GNOME), `Ctrl+Alt+Shift+S` (KDE), `Ctrl+Alt+Shift+S` (Emacs), `Ctrl+Alt+Shift+S` (Sublime Text), `⌘ ;` (Sublime Text (macOS)), `Ctrl+Alt+Shift+S` (Visual Studio), `⌘ ;` (Visual Studio (macOS)), `Ctrl+Alt+Shift+S` (NetBeans), `Ctrl+Alt+Shift+S` (Eclipse), `⌘ ;` (Eclipse (macOS))）。

2. 在   项目设置  下，点击   模块  ，然后在右侧打开   源  选项卡。

3. 右键点击 [test folder](#create-test-resources-root)并选择   新建文件夹  。 请命名文件夹  `resources` 。

4. 右键点击新文件夹并选择   测试资源  。 该文件夹将标记为 ![测试资源根图标](https://resources.jetbrains.com.cn/help/img/idea/2026.3/app-client.expui.nodes.testResourcesRoot.svg)图标。

5. 应用更改并关闭对话框。

![在项目结构对话框中创建了 Test Resources Root](https://resources.jetbrains.com.cn/help/img/idea/2026.3/cucumber-resources-root.png)

## See also

### 过程

[Testing in Maven projects](work-with-tests-in-maven.html) [Testing in Gradle projects](work-with-tests-in-gradle.html) [Working with module dependencies](working-with-module-dependencies.html)

