我有一个嵌套的TestNG套件文件配置在Linux上运行良好,但是当我尝试在Windows上运行时,路径搞砸了,我最终得到了“找不到文件”的例外情况
Windows文件系统结构如下:
C:\MyProject\RootSuite.xml
C:\MyProject\subfolder1\ChildSuite.xml
C:\MyProject\subfolder1\subfolder2\GrandChildSuite.xml
RootSuite.xml如下所示:
<suite name="RootSuite" verbose="2" thread-count="1" parallel="false">
<suite-files>
<suite-file path="subfolder1/ChildSuite.xml" />
</suite-files>
</suite>
ChildSuite.xml看起来像这样(使用相对于“subfolder1”的路径):
<suite name="ChildSuite" verbose="2" thread-count="1" parallel="false">
<suite-files>
<suite-file path="subfolder2/GrandChildSuite.xml" />
</suite-files>
</suite>
当我在Windows上运行时,它似乎将GrandChildSuite.xml的相对路径抛回到项目的根目录。我得到一个错误:
Running TestSuite
java.io.FileNotFoundException:
C:\MyProject\newfolder2\GrandChildSuite.xml
(The system cannot find the path specified)
同样,这在Linux / OSX上运行良好,因此TestNG似乎能够支持这样的相对套件文件路径。此外,TestNG正在将文件路径分隔符从/转换为\。所以,这似乎不是问题。
我正在使用Maven Surefire插件启动TestNG。我从命令行和Eclipse TestNG插件都尝试过。两者都表现出相同的行为。
我无法找到很多人以嵌套方式使用套件文件的例子,所以任何帮助都会受到赞赏。谢谢!