【发布时间】:2016-07-07 09:53:06
【问题描述】:
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 做的是创建一个替代解决方案来在项目/框架之外运行测试,这可以是普遍使用,用户只需选择他们的 XML,然后将执行测试。
【问题讨论】:
-
我正在尝试做类似的事情。当我将多个 TestNG 测试类传递给我的 Spring-Web-App 测试运行器时,如果其中一个具有错误的规范类名称,那么整个套件会因 TestNGException 而崩溃,我宁愿在每个类的基础上发现问题,并且然后继续。我想我可能必须在组装套件之前检查类名,并更早地捕获异常。
-
嘿@djangofan。我认为我不必解决您的问题,因为我正处于发展的早期阶段。如果您想开始私人聊天和讨论或项目,也许我所做的事情可能对您有所帮助或有益?
-
没关系。我不需要帮助。我提到它是因为听起来您的 FX 测试运行器可能会遇到类似的问题。