# 运行/调试配置：TestNG

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

TestNG 运行/调试配置用于启动符合 TestNG 框架的测试。 对话框包含多个选项卡。

## 通用选项

|    名称    |  在编辑或运行时，指定运行配置的名称以便快速识别。  |
|    允许多个实例    |     允许并行运行此运行配置的多个实例。       默认情况下，它是禁用的，当您在另一个实例仍在运行时启动此配置，IntelliJ IDEA 建议停止正在运行的实例并启动另一个。 当一个运行配置消耗大量资源且没有充分理由运行多个实例时，这会很有帮助。     |
|    存储为项目文件    |     将运行配置设置的文件保存下来，与其他团队成员共享。 默认位置是  `.idea/runConfigurations` 。 但是，如果您不想共享  `.idea` 目录，您可以将配置保存到项目内的任何其他目录。       默认情况下，它是禁用的，并且 IntelliJ IDEA 将运行配置设置存储在  `.idea/workspace.xml` 。     |

## 配置选项卡

此选项卡的组成取决于选择的测试范围：包、项目等。

|  条目  |  描述  |
| --- | --- |
|    测试种类    |      * 软件包中的所有 – 运行包中的所有测试。 在 软件包 字段中，指定包的完全限定名。    * 模式 ：运行一组测试类或测试类中的特定方法。 此集合可能包含位于相同或不同目录、包或模块中的类。 声明必须用 `\|\|` 分隔。 此字段中的每个类都必须以其完全限定名称表示： * 包括包名和类名 * 使用 `,` 作为方法的分隔符 * 使用 `$` 作为内部类的分隔符 您可以手动键入类名，或点击右侧的 !["添加"按钮](https://resources.jetbrains.com/help/img/idea/2026.3/app-client.expui.general.open.svg)（或按 `Shift+Enter` (Windows), `⇧ ⏎` (macOS), `⇧ ⏎` (IntelliJ IDEA Classic (macOS)), `⇧ ⏎` (macOS System Shortcuts), `Shift+Enter` (XWin), `Shift+Enter` (GNOME), `Shift+Enter` (KDE), `Shift+Enter` (Emacs), `Ctrl+Enter` (Sublime Text), `⌘ ⏎` (Sublime Text (macOS)), `Shift+Enter` (Visual Studio), `⇧ ⏎` (Visual Studio (macOS)), `Shift+Enter` (NetBeans), `Shift+Enter` (Eclipse), `⇧ ⏎` (Eclipse (macOS))），并在打开的对话框中搜索要添加的类。 示例： `packageName.ClassName$InnerClassName,methodName` 还可以使用 [正则表达式](regular-expressions.html) 指定所需的类。 例如，如果您想排除名称中包含 `IT` 的所有集成测试，请输入 `^(?!.*IT.*).*$` 。 可以创建套件测试，即由多个将一起运行的测试类组成的组合。 创建套件测试类，请点击 ![“展开”按钮](https://resources.jetbrains.com/help/img/idea/2026.3/app.general.expandComponent.svg)并键入您希望作为套件运行的测试类。 因此，将使用 `@Suite` 注释创建一个新类。    * 组 – 运行测试组。 在 组 字段中，指定您想要运行的组。    * 套件 – 运行测试套件。 在 套件 字段中，输入对应的 `testng.xml` 文件。 * 在整个项目中 —— IDE 将在所有模块中查找测试 * 在单个模块中 — IDE 只会在 使用模块的类路径 字段中选择的模块中查找测试。 * 跨模块依赖 – 与上一选项相同，加上依赖于该模块的模块。    * 类 ——运行测试类。 在 类 字段中，输入您要运行的测试类的完全限定名。    * 方法 ——运行测试方法。    |
|    输出目录    |  测试报告生成的目录。  |

### JDK 设置

|  条目  |  描述  |
| --- | --- |
|    VM 选项    |     指定启动应用程序时要传递给 Java 虚拟机的选项，例如  `-mx` 、  `-verbose`  等。       指定 JVM 选项时，请遵循以下规则：        * 使用空格来分隔各个选项。    * 如果选项的值包含 Space，请用双重引用符将该值或实际的 Space 括起来。    * 如果选项包含作为值一部分的双重引用符，请使用反斜杠对双重引用符进行转义。    * 您可以将环境变量值传递给自定义 Java 属性。      ```PLAINTEXT -Xmx1024m -Dspaces="some arg" -Dmy.prop=\"quoted_value\" -Dfoo=${MY_ENV_VAR}  ```      在此字段中使用代码补全：开始输入标志的名称，IDE 会建议可用的命令行选项列表。 这适用于  `-XX:`  和  `-X`  选项以及一些不是由 IntelliJ IDEA 自动配置的标准选项，例如  `-ea` ，但不适用于  `-cp`  或  `–release` 。       在此字段中指定的  `-classpath`  选项会重写模块的类路径。     |
|    测试运行参数    |     传递给测试运行器的参数。       请使用与指定 VM options 相同的规则。     |
|    工作目录    |  指定用于运行应用程序的工作目录。 此目录是所有相对输入和输出路径的起点。 默认情况下，工作目录是项目根目录。  |
|    环境变量    |  点击 ![浏览按钮](https://resources.jetbrains.com/help/img/idea/2026.3/app.general.inlineVariables.svg) 打开   环境变量   对话框，您可以在其中创建变量并指定其值。  |
|    使用模块路径    |  此选项适用于具有 JPMS 模块（Java 9 及更高版本）的项目。 您可以选择如何运行测试：在类上运行还是在模块路径上运行。  |
|    JRE    |  要使用的 JRE。  |
|    缩短命令行    |     如果类路径过长，或者虚拟机实参过多而超过操作系统的命令行长度限制，请选择一种用于缩短命令行的方法。 选项的选择取决于类加载器的实现。 请注意，某些框架不支持  JAR 清单 ，而其他具有自定义类加载器的框架将无法与   classpath.file   选项良好配合。        * 无 ：IntelliJ IDEA 将不会缩短过长的类路径。 如果命令行超过操作系统的限制，IntelliJ IDEA 将无法运行您的应用程序，并会显示一条消息，建议您指定缩短方法。    * JAR 清单 ：IntelliJ IDEA 将通过临时的 `classpath.jar` 传递过长的类路径。 原始类路径在 `manifest` 文件的 `classpath.jar` 中，作为 `class-path` 属性定义。 请注意，如果使用此方法缩短了命令行，则可以预览完整的命令行，而不仅仅是临时 `classpath.jar` 的类路径。    * classpath.file ：IntelliJ IDEA 将把过长的类路径写入一个文本文件。    * @argFiles (Java 9+) ：将使用 [@实参文件选项](https://docs.oracle.com/javase/9/tools/java.htm#JSWOR-GUID-4856361B-8BFD-4964-AE84-121F5F6CF111) 来克服命令行长度限制。     > **Note:** > 如果选择共享运行/调试配置，此设置将被共享，因此无论团队成员使用哪种操作系统，都会应用相同的方法。    |

### 参数

|  条目  |  描述  |
| --- | --- |
|    参数    |  |
|  属性文件  |  请指定  `.properties`  文件传递给 TestNG。  |
|  名称 - 数值  |  作为键值对的附加参数。  |
|    监听器    |
|  ![](https://resources.jetbrains.com/help/img/idea/2026.3/app.expui.general.add.svg)  ![](https://resources.jetbrains.com/help/img/idea/2026.3/app.expui.general.remove.svg)  |  使用这些图标来创建一个监听器列表。  |

## 代码覆盖率选项卡

使用此选项卡配置 [代码覆盖率](code-coverage.html)监控选项。

|  条目  |  描述  |
| --- | --- |
|    要在覆盖率数据中包含的包和类    |  点击 !["添加"按钮](https://resources.jetbrains.com/help/img/idea/2026.3/app.expui.general.add.svg) 并选择 ![添加类按钮](https://resources.jetbrains.com/help/img/idea/2026.3/app.expui.nodes.class.svg)   添加类   或 !["添加软件包"按钮](https://resources.jetbrains.com/help/img/idea/2026.3/app.nodes.package.svg)   添加包   以指定要测量的类和包。 您还可以在列表中选中它们，然后点击 ![移除该软件包](https://resources.jetbrains.com/help/img/idea/2026.3/app.expui.general.remove.svg) 按钮，以从列表中移除类和包。  |
|    要在覆盖率数据中排除的包和类    |  点击 !["添加"按钮](https://resources.jetbrains.com/help/img/idea/2026.3/app.expui.general.add.svg) 并选择 ![添加类按钮](https://resources.jetbrains.com/help/img/idea/2026.3/app.expui.nodes.class.svg)   添加类   或 !["添加软件包"按钮](https://resources.jetbrains.com/help/img/idea/2026.3/app.nodes.package.svg)   添加包   以指定不应测量的类和包。 您还可以在列表中选中它们，然后点击 ![移除该软件包](https://resources.jetbrains.com/help/img/idea/2026.3/app.expui.general.remove.svg) 按钮，以从列表中移除类和包。  |

## 日志

以下选项与记录此配置的执行相关。 有关更多信息，请参见 [日志](setting-log-options.html)。

|  条目  |  描述  |
| --- | --- |
|     将显示在控制台中的日志文件     |     指定在运行应用程序时显示哪些日志文件。       点击 !["添加"按钮](https://resources.jetbrains.com/help/img/idea/2026.3/app.expui.general.add.svg) 添加新日志。 在   编辑日志文件别名  对话框中，配置以下内容：        * 别名 ：日志将显示的选项卡名称。    * 日志文件位置 ：指定日志文件的路径或 [Ant 模式](https://ant.apache.org/manual/dirtasks.html)。 如果多个滚动日志文件匹配该模式，IntelliJ IDEA 将显示最新的一个。    * 显示所有可由模式匹配的文件 ：显示所有匹配该模式的日志。      对于表中的日志，您可以配置以下选项：        * 处于活动状态 ：显示指定的日志文件。    * 跳过内容 ：不显示先前运行的旧日志消息。    |
|     将控制台输出保存到文件     |  将控制台输出保存到指定位置。 手动输入路径，或点击浏览按钮，然后在 [打开的对话框](null) 中指向所需位置。  |
|     在消息打印到标准输出流时显示控制台     |  当应用程序写入标准输出流时激活控制台。  |
|     在消息打印到标准错误流时显示控制台     |  当应用程序写入标准错误流时激活控制台。  |

## 启动前

在此区域，您可以指定在启动所选的运行/调试配置之前需要执行的任务。 任务将按其在列表中出现的顺序执行。

|  条目  |  描述  |
| --- | --- |
|     添加启动前任务     |     启用此选项可添加以下可用任务之一：        * 启动 Web 浏览器‍™™™™™™™‍ ：选择此选项以启动浏览器。 在打开的对话框中，选择浏览器类型并提供起始 URL。 此外，请指定是否要使用 JavaScript 调试器启动浏览器。    * 运行外部工具 ：运行外部应用程序。 在打开的对话框中，选择您想要运行的一个或多个应用程序。 如果它在 IntelliJ IDEA 中尚未定义，请添加其定义。 更多信息请参阅 [外部工具](configuring-third-party-tools.html)。    * 运行另一个配置 ：选择执行另一个运行/调试配置，并等待其完成后再启动当前配置。 如果您想并行运行多个配置，请使用 [compound run/debug configuration](run-debug-multiple.html#compound-configs)。    * 运行远程外部工具 ：添加 [远程 SSH 外部工具](settings-tools-remote-ssh-external-tools.html)。    * 运行 Gradle 任务 ：运行 [Gradle 任务](create-run-debug-configuration-gradle-tasks.html)。 在打开的对话框中，指定任务并在必要时提供其他配置。    * 构建 ：选择编译指定的模块。 [构建模块](compiling-applications.html#compile_module) 操作将被执行。 如果在编译过程中发生错误，IntelliJ IDEA 将不会尝试启动运行/调试配置。    * 构建项目 ：选择编译整个项目。 [构建项目](compiling-applications.html#compile_module)操作将被执行。 如果在编译过程中发生错误，IntelliJ IDEA 将不会尝试启动运行/调试配置。    * 构建，不进行错误检查 ：与 构建 选项相同，但 IntelliJ IDEA 将会尝试启动运行/调试配置，而不考虑编译结果。    * 构建制品 ：选择此选项以构建一个或多个 [构件](working-with-artifacts.html)。 在打开的对话框中，选择应构建的 artifact。    * 运行 Maven 目标 ：选择此选项以 [运行一个 Maven 目标](work-with-maven-goals.html)。 在打开的对话框中，选择要运行的目标。    * 运行 Grunt 任务 ：选择此选项以运行 Grunt 任务。 在打开的 Grunt 任务 对话框中，指定定义所需任务的 `Gruntfile.js` ，选择要执行的任务，并指定传递给 Grunt 工具的参数。 指定 Node.js 解释器的位置、传递给它的参数以及 grunt-cli 包的路径。    * 运行 Gulp 任务 ：选择此选项以运行 Gulp 任务。 在打开的 Gulp 任务 对话框中，请指定定义所需任务的 `Gulpfile.js` ，选择要执行的任务，并指定传递给 Gulp 工具的参数。 指定 Node.js 运行时的位置、要传递给它的参数，以及 gulp 包的路径。    * 运行 npm 脚本 ：选择此选项以执行 npm script。 在打开的 npm 脚本 对话框中，指定 [npm 运行/调试配置设置](null)。    * 编译 TypeScript ：选择运行内置的 TypeScript 编译器，从而确保您对 TypeScript 代码所做的所有更改都反映在生成的 JavaScript 文件中。 在打开的 TypeScript 编译设置 对话框中，选择或清除 检查错误 复选框，以配置在检测到任何错误时编译器的行为： * 如果选中 检查错误 复选框，编译器将显示所有错误，运行配置将不会启动。 * 如果取消选中 检查错误 复选框，编译器将显示所有检测到的错误，但仍会启动运行配置。    * 断开数据源 ：如果您希望在运行/调试配置运行之前中断与数据源的连接，请选择此选项。    |
|    激活工具窗口    |     根据配置类型，启动此运行配置时，将打开 [运行](run-tool-window.html)、 [调试](debug-tool-window.html) 或 [服务](services-tool-window.html) 工具窗口。 如果此选项被禁用，您可以手动打开工具窗口：        * `视图 \| 工具窗口 \| 运行` 或 `Alt+4` (Windows), `⌘ 4` (macOS), `⌘ 4` (IntelliJ IDEA Classic (macOS)), `⌘ 4` (macOS System Shortcuts), `Alt+4` (XWin), `Alt+4` (GNOME), `Alt+4` (KDE), `Alt+4` (Emacs), `Alt+4` (Sublime Text), `⌘ 4` (Sublime Text (macOS)), `Alt+4` (Visual Studio), `⌘ 4` (Visual Studio (macOS)), `Alt+4` (NetBeans), `Alt+4` (Eclipse), `⌘ 4` (Eclipse (macOS))    * `视图 \| 工具窗口 \| 调试` 或 `Alt+5` (Windows), `⌘ 5` (macOS), `⌘ 5` (IntelliJ IDEA Classic (macOS)), `⌘ 5` (macOS System Shortcuts), `Alt+5` (XWin), `Alt+5` (GNOME), `Alt+5` (KDE), `Alt+5` (Emacs), `Alt+5` (Sublime Text), `⌘ 5` (Sublime Text (macOS)), `Alt+5` (Visual Studio), `⌘ 5` (Visual Studio (macOS)), `Alt+5` (NetBeans), `Alt+5` (Eclipse), `⌘ 5` (Eclipse (macOS))    * `查看 \| 工具窗口 \| 服务` 或 `Alt+8` (Windows), `⌘ 8` (macOS), `⌘ 8` (IntelliJ IDEA Classic (macOS)), `⌘ 8` (macOS System Shortcuts), `Alt+8` (XWin), `Alt+8` (GNOME), `Alt+8` (KDE), `Alt+8` (Emacs), `Alt+8` (Sublime Text), `⌘ 8` (Sublime Text (macOS)), `Alt+8` (Visual Studio), `Alt+8` (Visual Studio (macOS)), `Alt+8` (NetBeans), `Alt+8` (Eclipse), `⌘ 8` (Eclipse (macOS))    |
|    使工具窗口获得焦点    |  测试运行时，将焦点置于运行配置工具窗口。  |
|    显示此页面    |  在实际启动运行配置之前显示其设置。  |

## See also

### 概念

[运行/调试配置](run-debug-configuration.html)

### 语言和框架特定指南

[测试框架](testing-frameworks.html)

### 参考

[调试器设置](settings-debugger.html)

