【问题标题】:Is it possible to run several TestNG suite files in one configuration in IntelliJ IDEA? [duplicate]是否可以在 IntelliJ IDEA 的一个配置中运行多个 TestNG 套件文件? [复制]
【发布时间】:2015-10-29 08:00:50
【问题描述】:

我的多模块 java 项目中有几个 TestNG 套件文件,它的结构如下所示:

project\
  module1\src\test\resources\
    suite1.xml
    suite2.xml
  module2\src\test\resources\
    suite3.xml

是否可以在 IntelliJ IDEA 中创建包含所有这些套件的运行配置?

我可以通过Run/Debug Configurations - TestNG - Configuration - Suite 为它们中的每一个创建单独的配置,但我看不到在那里选择多个文件的方法。

我无法将所有测试套件合并到单个套件中,因为某些测试使用了套件之前/之后的方法。

我正在使用 IntelliJ IDEA 14.1.2 社区版,TestNG 6.1.1。

【问题讨论】:

  • 您是否可以选择创建主套件?然后你可以使用suite-files(我认为是)引用其他文件,并运行这个主套件。
  • @stuXnet 谢谢,我不知何故错过了这个功能,我会试试看!
  • 我在 IntelliJ 中编辑套件文件时不小心偶然发现了它,那时我看到了这个标签。可悲的是,它没有记录在其他很棒的文档中 - testng.org/doc/documentation-main.html

标签: intellij-idea testng test-suite


【解决方案1】:

TestNG 本身支持执行多个套件文件 - 你可以运行 java org.testng.TestNG suite1.xml suite2.xml suite3.xml

我还没有找到在 IntelliJ 中指定多个 suite.xml 的方法,所以我使用未记录的 suite-files 标签创建了一个主套件。它看起来像这样:

<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >

<suite name="Suite1" verbose="1" >
    <suite-files>
        <suite-file path="suite1.xml"/>
        <suite-file path="suite2.xml"/>
    </suite-files>
</suite>

此套件文件可由 IntelliJ 运行,并且应包含所有测试及其正确的 before/after 方法。

【讨论】:

  • 成功了,谢谢。但似乎我必须仔细更新我的测试套件:我有非常贪婪的模式,比如在模块 1 的测试套件中包含包“com.a.b.*”,但我在模块 2 中也有这样的包。并且(毫不奇怪)模块 1 的套件尝试从模块 2 运行测试,但显然失败了 :)
  • 有没有办法在 中使用启用/禁用标志进行额外控制?目标是从根/主套件 testng.xml 文件的单个位置启用/禁用套件文件
猜你喜欢
  • 1970-01-01
  • 2011-05-28
  • 1970-01-01
  • 1970-01-01
  • 2015-05-20
  • 1970-01-01
  • 1970-01-01
  • 2014-12-15
  • 2015-10-19
相关资源
最近更新 更多