可以使用JUnit/WebDriver参数化多个构造函数吗

可以使用JUnit/WebDriver参数化多个构造函数吗,junit,selenium-webdriver,Junit,Selenium Webdriver,和publicstaticcollection getData() Junit4中是否可以有多个构造函数来参数化测试数据 我知道Java允许多个构造函数,只要构造函数参数形成唯一的签名 我试过了,但没有成功 请给我一些建议。谢谢 据我所知,这是不可能的。但是如果这不是问题,你可以试试你想要的。这两个概念都有一个简短的描述,下面是您所需内容的摘要,摘自项目文档: 1) 依赖性 public ParameterizedTestCase(String city,String month, String

publicstaticcollection getData()

Junit4中是否可以有多个构造函数来参数化测试数据

我知道Java允许多个构造函数,只要构造函数参数形成唯一的签名

我试过了,但没有成功


请给我一些建议。谢谢

据我所知,这是不可能的。但是如果这不是问题,你可以试试你想要的。这两个概念都有一个简短的描述,下面是您所需内容的摘要,摘自项目文档:

1) 依赖性

public ParameterizedTestCase(String city,String month, String Day, String year)

长/复杂版本

<dependency>
  <groupId>pl.pragmatists</groupId>
  <artifactId>JUnitParams</artifactId>
  <version>1.0.2</version>
  <scope>test</scope>
</dependency>
@Test
@Parameters({ 
        "17, false", 
        "22, true" })
public void personIsAdult(int age, boolean valid) throws Exception {
    assertThat(new Person(age).isAdult(), is(valid));
}

非常感谢你的回答。我现在使用TestNG对@DataProvider进行参数化。
@Test
@Parameters({ 
        "17, false", 
        "22, true" })
public void personIsAdult(int age, boolean valid) throws Exception {
    assertThat(new Person(age).isAdult(), is(valid));
}
@Test
@Parameters(method = "adultValues")
public void personIsAdult(int age, boolean valid) throws Exception {
    assertEquals(valid, new Person(age).isAdult());
}

private Object[] adultValues() {
    return $(
                 $(13, false),
                 $(17, false),
                 $(18, true),
                 $(22, true)
            );
}