0

我有一个嵌套的 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 插件都试过了。两者都表现出相同的行为。

我还没有找到很多像这样以嵌套方式使用套件文件的人的例子,因此感谢您的帮助。谢谢!

4

0 回答 0