TestNG
从本文中,您将学习如何为您的项目设置 TestNG,创建测试并运行它们,以查看您的代码是否正常运行。 它仅包含让您入门的基本步骤。
如果您想了解更多关于 TestNG 的信息,请参阅 官方文档。 要了解更多 IntelliJ IDEA 的测试功能,请参考本节中的其他主题。
您可以选择使用 Maven 或 Gradle 按照此页面上的步骤操作。
将 TestNG 添加到您的项目
在项目根目录中打开 pom.xml 。
在 pom.xml 中,按下 Alt+Insert 并选择 依赖。
在打开的对话框中,在搜索字段中输入
testNG。找到
org.testng:testng依赖项,在搜索结果中选择其版本,然后点击 添加。在将依赖项添加到 pom.xml 后,按 Ctrl+Shift+O 或点击
中的 Maven 工具窗口以导入更改。
在项目根目录中打开 build.gradle 。
在 build.gradle 中,按下 Alt+Insert 并选择 添加 Maven 工件依赖。
在打开的对话框中,在搜索字段中输入
testNG。找到
org.testng:testng依赖项,在搜索结果中选择其版本,然后点击 添加。在将依赖项添加到 build.gradle 后,按 Ctrl+Shift+O 或点击
中的 Gradle 工具窗口以导入更改。
在主菜单中,前往 (Ctrl+Alt+Shift+S)。
在 项目设置 下,选择 库 并点击
。
在打开的对话框中,指定必要的库工件,例如:
org.testng:testng:6.14.3。应用更改并关闭对话框。
创建测试
创建一个新的 TestNG 类
在 项目 工具窗口 Alt+1 中,右键点击 Test Sources Root
内的包,您希望在其中创建一个新的测试类。
选择 从上下文菜单。
在 创建新类 对话框中,命名新类并点击 OK。
在编辑器中编写您的测试类代码。 在必要时使用 TestNG 注释。 例如,您可能想要注释整个 class 或单个 methods:
import org.testng.Assert; import org.testng.annotations.DataProvider; import org.testng.annotations.Test; @Test() public class SampleTest { @DataProvider public Object[][] data() { return new String[][] {new String[] {"data1"}, new String[] {"data2"}}; } @Test(dataProvider = "data") public void test(String d) { Assert.assertEquals("First Line\nSecond Line", "First Line\nSecond Line"); } }
运行测试
运行 TestNG 测试
要运行单个测试,请点击
并选择 运行。
要运行测试类中的所有测试,请点击测试类声明旁边的
并选择 运行。
您可以在 运行 工具窗口中查看测试结果。

运行测试并生成报告
在 IntelliJ IDEA 中,您可以添加 VM 选项,使用其他 JDK 或通过运行配置启用代码覆盖。 您可以为同一个测试类或测试套件创建多个不同设置的配置,并比较结果。
对于 TestNG,您可以配置 listener ,它将为您生成报告。 如果您不想每次运行测试时都生成报告,创建一个单独的 run configuration 可能会有所帮助。
在主菜单中,前往 。
如果之前没有创建过 TestNG 配置,请点击
,并从打开的列表中选择 TestNG。
否则,请从列表中选择所需的现有配置。
如果这是一个新配置,请为其命名。
从 测试种类 列表中,选择您想要运行的测试范围。 下一个字段将相应更改,允许您选择特定的测试来运行。
在 输出目录 字段中,您可以指定一个文件夹,IDE 将在其中放置报告。
默认情况下,IDE 会在项目根目录中创建一个新的 测试输出 文件夹,但您可以使用其他文件夹或为不同的报告使用不同的文件夹。
切换到 侦听器 选项卡,点击
,并添加
EmailableReporter选项。 这将生成一份 HTML 报告。应用更改并关闭对话框。

在工具栏上,确保选中新创建的 run configuration 并点击其旁边的
。 或者按 Shift+F10。

IDE 会在您在运行配置中指定的文件夹中创建一个包含测试运行结果的 .html 报告。 如果您尚未指定文件夹,将会创建一个带有报告的 测试输出 文件夹。
要快速在浏览器中查看此文件,请在编辑器中打开该文件。 然后,前往 并选择一个浏览器。 您还可以使用内置预览来查看文件。 更多信息请参阅 预览 HTML 文件的输出。

测试套件
在 TestNG 中,测试套件是一组旨在测试应用程序某个特定功能或特性的测试。 这是一个包含一组相关测试用例的容器。 可以通过将多个测试用例分组或组合多个测试套件来创建测试套件。
TestNG 不允许在测试代码或主要测试源代码中定义测试套件。 这就是为什么可以在包含测试用例信息、包含测试用例的类或包以及测试参数的 XML 或 YAML 文件中定义测试套件。
创建 XML 测试套件
您可以在 .xml 或 .yaml 文件中指定测试套件。 如果您要使用 YAML,请确保在构建文件中 添加相应的依赖项。
右键点击 项目 工具窗口 Alt+1 中的项目根文件夹,选择 并输入文件的名称,例如 testng.xml 。
请在文件中填写有关您测试的信息。 如需更多信息,请参阅 testng.xml。
使用 YAML 进行测试套件
TestNG 支持使用 YAML 定义测试套件 ,然而,它默认不包含 YAML 解析器。 如果您想使用 YAML 文件,请添加 snakeyaml 依赖项。 这个版本应与您使用的 TestNG 版本相对应。
打开构建文件( pom.xml 或 build.gradle ),按 Alt+Insert ,然后选择 添加依赖。
在打开的工具窗口中,在搜索字段中键入
snakeyaml。在搜索结果中找到必要的依赖项,选择其版本,并点击其旁边的 添加。
按 Ctrl+Shift+O 或点击出现在编辑器右上角的通知,以加载更改。
右键点击 项目 工具窗口 Alt+1 中的项目根文件夹,选择 并输入文件的名称,例如 testing.yaml 。
运行测试套件
要运行 TestNG 测试套件,请为此套件创建一个运行配置:
在主菜单中,前往 。
在左侧窗格中,点击
,然后从打开的列表中选择 TestNG。 请命名新配置。
从 测试种类 列表中选择 套餐。
套餐 字段变得可用。
在 套餐 字段中,点击
并指定配置测试套件的 XML 或 YAML 文件的路径。
在 输出目录 字段中,您可以指定一个文件夹,IDE 将在其中放置输出文件,例如测试报告。
默认情况下,IDE会在项目根目录中创建一个新的 测试输出 文件夹,但您可以使用其他文件夹或为不同的输出使用不同的文件夹。
应用更改并关闭对话框。

在工具栏上,确保选中新创建的 run configuration 并点击其旁边的
。 或者按 Shift+F10。
