TestNG 是否具有类似于 pytest --collect-only with hooks 的测试收集功能?

Does TestNG have a test collection functionality similar to pytest --collect-only with hooks?

Pytest 提供了 运行 使用 --collect-only 选项在测试存储库上进行 pytest 的能力,该选项仅输出它根据当前配置找到的测试。

此外,还有一些挂钩可以影响收集的各个阶段发生的事情,例如 pytest_collection_modifyitems

我想知道是否有等效的 collection/hook 系统可用于使用 TestNG 的 Java 测试。

可以指示 TestNG 查找特定包中的所有 @Test 方法以及其中的所有内容。

但默认情况下,在 TestNG 发现测试后,它会执行它们。

因此,为了完成您的用例,您需要执行以下操作:

  1. 创建一个 testng 套件 xml 文件,它引用顶级包 com.foo.bar 例如,其中所有测试 类 都位于 com.foo.bar 包中或在子包内。
  2. 运行 带有 JVM 参数 -Dtestng.mode.dryrun=true 的 TestNG,这会导致 TestNG 进行模拟,就好像测试是 运行 而实际上没有 运行ning 它们。

同时使用这两个东西,您的用例应该得到满足。