仅在 Linux 时出现 TestSetFailedException
TestSetFailedException only on Linux
我们正在尝试通过 maven 命令 运行 testng 文件。
testng文件名:testSMOKE.xml
.
maven 命令:
mvn clean test -Dtestng.suite.xml.file=config/components/smoke/testSmoke.xml
该命令在 Windows 台机器上有效,但由于测试套件的文件名,同一命令在 linux 台机器上无效。
Exception:
[ERROR] at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:406)
[ERROR] at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:347)
[ERROR] Caused by: org.apache.maven.surefire.testset.TestSetFailedException: Suite file /data2/pcf/Yucca/config/components/smoke/testSmoke.xml is not a valid file
[ERROR] at org.apache.maven.surefire.testng.TestNGXmlTestSuite.locateTestSets(TestNGXmlTestSuite.java:99)
[ERROR] at org.apache.maven.surefire.testng.TestNGProvider.invoke(TestNGProvider.java:119)
[ERROR] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[ERROR] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
[ERROR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[ERROR] at java.lang.reflect.Method.invoke(Method.java:498)
这里有什么区别?
在Windows中文件名不区分大小写,所以testSMOKE.xml = testSmoke.xml.
在Linux中,文件名区分大小写,所以testSMOKE.xml和testSmoke.xml是不同的文件。确保您的命令行参数与区分大小写的文件名相匹配:
mvn clean test -Dtestng.suite.xml.file=config/components/smoke/testSMOKE.xml
^^^^^
我们正在尝试通过 maven 命令 运行 testng 文件。
testng文件名:testSMOKE.xml
.
maven 命令:
mvn clean test -Dtestng.suite.xml.file=config/components/smoke/testSmoke.xml
该命令在 Windows 台机器上有效,但由于测试套件的文件名,同一命令在 linux 台机器上无效。
Exception:
[ERROR] at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:406)
[ERROR] at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:347)
[ERROR] Caused by: org.apache.maven.surefire.testset.TestSetFailedException: Suite file /data2/pcf/Yucca/config/components/smoke/testSmoke.xml is not a valid file
[ERROR] at org.apache.maven.surefire.testng.TestNGXmlTestSuite.locateTestSets(TestNGXmlTestSuite.java:99)
[ERROR] at org.apache.maven.surefire.testng.TestNGProvider.invoke(TestNGProvider.java:119)
[ERROR] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[ERROR] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
[ERROR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[ERROR] at java.lang.reflect.Method.invoke(Method.java:498)
这里有什么区别?
在Windows中文件名不区分大小写,所以testSMOKE.xml = testSmoke.xml.
在Linux中,文件名区分大小写,所以testSMOKE.xml和testSmoke.xml是不同的文件。确保您的命令行参数与区分大小写的文件名相匹配:
mvn clean test -Dtestng.suite.xml.file=config/components/smoke/testSMOKE.xml
^^^^^