TestNG如何寻找测试类?

时间:2016-07-07 09:53:06

标签: java xml javafx testng

TestNG在寻找测试类时如何工作?

我使用JavaFX从我的TestNG项目创建了一个单独的项目来创建GUI,当GUI运行时,它允许您选择XML文件,然后将testNG XML的路径保存在变量中。

当我运行以下代码时:

String xmlFileName = selectedFile.getAbsolutePath();

TestNG testng = new TestNG();
List<String> testFilesList = new ArrayList<String>();

testFilesList.add(xmlFileName); //test suite resides in the working directory's root folder
testng.setTestSuites(testFilesList); //you can addd multiple suites either here by adding multiple files or include all suites needed in the testng.xml file 
testng.setUseDefaultListeners(false);
testng.addListener(htmlRep); 
testng.run();

我收到一条错误消息,说它无法在XML中找到我的测试类。

  

[TestNG] [错误]

     

在类路径中找不到类:com.emc.qe.u360.tests.LogoutTests

然后我决定在我的TestNG项目中创建一个java类,并复制代码,它仍然会给出相同的错误消息。

运行上述代码时,TestNG在哪里寻找测试类?

上面的代码从eclipse本身手动运行XML有什么区别?代码似乎正在起作用,正如我所看到的,如果运行XML的代码被破坏或无法运行,它将无法给我这个错误,因为它无法确定XML中指定的内容。

任何帮助将不胜感激,谢谢。

编辑:仅仅是为了获取背景信息,目前我正在使用Jenkins来运行测试,我尝试使用GUI来创建一个替代解决方案来运行Project / Framework之外的测试,可以普遍使用,用户可以只选择他们的XML,然后执行测试。

1 个答案:

答案 0 :(得分:0)

如果您使用Maven Surefire或Gradle TestNG跑步者,它是可配置的,但默认情况下,我认为TestNG会在src/test/java中查找您的班级名称。另外,我认为如果您从代码运行TestNG作为独立运行,您可以调整其查找类的路径库。