java - 配置失败导致 TestNG 中的测试跳过且 XML 中没有信息

标签 java junit testng

我正在试验 TestNG,它正在 eclipse 中工作。我创建了一个测试套件并尝试从命令行运行它。

构建失败,错误提示

构建期间的最终输出显示:

  [testng] ===============================================
   [testng] Suite
   [testng] Total tests run: 1, Failures: 0, Skips: 1
   [testng] Configuration Failures: 1, Skips: 2
   [testng] ===============================================
   [testng] 
   [testng] The tests failed.

testng-results.xml 和index.html 没有报告任何失败。

testng-failed.xml是这样的:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Failed suite [Default suite]">
  <test name="Default test(failed)">
    <classes>
      <class name="ABC.test.integration.PersistUrlTests">
        <methods>
          <include name="springTestContextAfterTestClass"/>
          <include name="springTestContextBeforeTestClass"/>
          <include name="springTestContextPrepareTestInstance"/>
          <include name="springTestContextAfterTestMethod"/>
          <include name="checkTest"/>
        </methods>
      </class> <!-- ABC.test.integration.PersistUrlTests -->
    </classes>
  </test> <!-- Default test(failed) -->
</suite> <!-- Failed suite [Default suite] -->

测试如下:

@Test
@ContextConfiguration(locations = { "file:spring-configuration/mydb-integration-testing.xml" })
public class PersistUrlTests extends AbstractTestNGSpringContextTests {

        @Autowired
        protected MobiusDatabaseServiceClient mobiusDatabaseServiceClient;

        @Autowired
        UrlDAO urlDAO;

        @Autowired
        ScraperUrlDAO scraperUrlDAO;

        @BeforeClass
        public void init() throws Exception {

        }


        @Test
        public void checkTest() {
            GetActiveCategoriesResponse response = mobiusDatabaseServiceClient.newGetActiveCategoriesCall().call();
            System.out.println(response.getCategoryList());
            Assert.assertTrue(true);
        }
}

套件如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Suite" parallel="none">
  <test name="Test">
    <classes>
      <class name="ABC.mydatabase.test.integration.PersistUrlTests"/>
    </classes>
  </test> <!-- Test -->
</suite> <!-- Suite -->

但另一方面,该文件的上次更新时间已经过去了。我不确定它是否正在更新。

我不确定如何调试 testNG 生成的这些 XML 文件,因为它们似乎彼此不同步。

到底应该查看哪个文件?为什么他们不支持“配置”失败的情况?

最佳答案

您是否为测试分配了测试监听器?

    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Group D - Using variables" parallel="false" preserve-order="true">
  <listeners>    
    <listener class-name="com.reportng.JUnitXMLReporter"/>
  </listeners>

测试监听器正在捕获所有失败并跳过的步骤/测试。

关于java - 配置失败导致 TestNG 中的测试跳过且 XML 中没有信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18680360/

相关文章:

java - TestNG:如何以编程方式运行自定义 TestNG.XML 文件

java - 从 Java Runtime exec() 重定向到/bin/bash

java - 在 spring 上运行持久性测试(JUnit)时出错

java - "Unexpected error during pre-commit"持久化与双向一对多拥有关系链接的对象时出现异常

java - 处理 DBUnit 中的保留字符

java - 如何在 Netbeans 中调试多个 JUnit 测试套件?

java - 如何使用 Selenium 和 TestNG 对多个站点运行一个测试

java - Hadoop Java 错误 : Exception in thread "main" java. lang.NoClassDefFoundError: WordCount (wrong name: org/myorg/WordCount)

java - 如何设置@RequestMapping的默认值?

java - Spring - 将多个属性集包含到一个 bean 中