Java 不同测试JUNIT的不同参数化参数
好的,我正在为我的项目构建测试用例,并使用JUnit进行测试。现在我面临的问题是,对于同一个文件的不同测试用例,我需要不同的参数集Java 不同测试JUNIT的不同参数化参数,java,junit,Java,Junit,好的,我正在为我的项目构建测试用例,并使用JUnit进行测试。现在我面临的问题是,对于同一个文件的不同测试用例,我需要不同的参数集 public class ForTesting{ //Test 1 should run on ips {1, true} and {2,true} @Test public void Test1() { //Do first Test case } //Test 2 should run on ips
public class ForTesting{
//Test 1 should run on ips {1, true} and {2,true}
@Test
public void Test1()
{
//Do first Test case
}
//Test 2 should run on ips {3,true} and {4,true}
@Test
public void Test2()
{
//Do another Test case
}
}
我知道我可以使用参数化参数提供多个参数,但问题是所有测试用例都运行同一组参数。有办法做到这一点吗 选项很少:
使用
在@理论中,使用
或使用
很少有选择:
使用
在@理论中,使用
或使用
如果您不只是在寻找标准的junit参数化测试,并且根据您公司的法律政策,您至少可以使用以下两个库,这使实现和阅读变得更容易: 1 Apache 2 2 LGPL受JUnit参数的启发,但带来了一些简单的分隔符配置、转换器等
@RunWith(ZohhakRunner.class)
public class PersonTest {
@TestWith({"17, false",
"22, true" })
public void shouldDecideAdulthood(int age, boolean expectedAdulthood) throws Exception {
assertThat(new Person(age).isAdult(), is(expectedAdulthood));
}
}
信用证:上面的例子是从JUnitParams的自述文件中无耻地复制和调整的。如果您不只是在寻找标准的junit参数化测试,并且根据您公司的法律政策,您至少可以使用以下两个库,这使得实现和阅读都更加容易: 1 Apache 2 2 LGPL受JUnit参数的启发,但带来了一些简单的分隔符配置、转换器等
@RunWith(ZohhakRunner.class)
public class PersonTest {
@TestWith({"17, false",
"22, true" })
public void shouldDecideAdulthood(int age, boolean expectedAdulthood) throws Exception {
assertThat(new Person(age).isAdult(), is(expectedAdulthood));
}
}
信用:上面的例子都是从JUnitParams的自述中无耻地复制和调整的。谢谢,这正是我需要的@Moldovan还没有,刚刚读过,但是没有上下文,所以farThanks这就是我需要的@Moldovan还没有,刚刚读过,但到目前为止还没有它的背景
@RunWith(JUnitParamsRunner.class)
public class PersonTest {
@Test
@Parameters({"17, false",
"22, true" })
public void shouldDecideAdulthood(int age, boolean expectedAdulthood) throws Exception {
assertThat(new Person(age).isAdult(), is(expectedAdulthood));
}
}
@RunWith(ZohhakRunner.class)
public class PersonTest {
@TestWith({"17, false",
"22, true" })
public void shouldDecideAdulthood(int age, boolean expectedAdulthood) throws Exception {
assertThat(new Person(age).isAdult(), is(expectedAdulthood));
}
}