首页 > 解决方案 > Eclipse 在使用 JUnit 4 运行器运行 JUnit 5 时报告参数化测试的无根测试结果

问题描述

我有适用于 Java 开发人员的 Eclipse IDE 2020-03。我使用 JUnit 5 创建了一个带有参数化测试的测试类。代码在这里:

@ParameterizedTest
@CsvFileSource(resources = dataDir + "TestPO/ddt.csv", numLinesToSkip = 1)
void invalidLogin(String username, String password, String errorMessage, TestInfo info)
{
    printDisplayTestName(info);
    
    LoginPage loginPage = LoginPage.open(driver);
    loginPage.submitLogin(username, password);
    assertTrue(loginPage.getConfirmation().contains(errorMessage));
}

当我使用 JUnit 5 运行程序运行此测试时,它会产生正确的结果。但是,当我使用 JUnit 4 运行程序作为测试套件的一部分运行相同的测试类时,

@RunWith(JUnitPlatform.class)
  @SelectClasses({
      TestPO.class,
      LoggingTest.class
  })
 
class Smoke
{}

其中invalidLogin()测试是TestPO类的一部分,它可以工作,但结果显示为Unrooted Tests在此处输入图像描述

如何解决?

标签: javaeclipsejunitjunit5

解决方案


推荐阅读