参数化测试与理论与预定义测试中的硬编码
Parametrized Test vs. Theory vs. Hard coded in pre defined test
我想在 class X (x1, x2, ... xn) 的 n 个不同实例和 class Y (y1, y2, .. , yn), 但我想用相同的索引进行测试。
我的意思是在测试中用 y1 测试 x1,用 y2 测试 x2 等等:
@测试
TestXandY(X x, Y y)
我想不出用 JUnit 参数化测试或理论来完成它的简单方法,但也许我遗漏了一些东西。
谢谢
您可以使用 JUnit 的 Parameterized
运行器来完成此操作。
@RunWith(Parameterized.class)
public class YourTest {
@Parameters
public static Object[][] dataSets() {
return new Object[][] {
{ new X("x1"), new Y("y1") },
{ new X("x2"), new Y("y2") },
...
}
}
@Parameter(0)
public X x;
@Parameter(1)
public Y y;
@Test
public void checkSomething() {
//do something with x and y.
}
}
我想在 class X (x1, x2, ... xn) 的 n 个不同实例和 class Y (y1, y2, .. , yn), 但我想用相同的索引进行测试。
我的意思是在测试中用 y1 测试 x1,用 y2 测试 x2 等等: @测试 TestXandY(X x, Y y)
我想不出用 JUnit 参数化测试或理论来完成它的简单方法,但也许我遗漏了一些东西。
谢谢
您可以使用 JUnit 的 Parameterized
运行器来完成此操作。
@RunWith(Parameterized.class)
public class YourTest {
@Parameters
public static Object[][] dataSets() {
return new Object[][] {
{ new X("x1"), new Y("y1") },
{ new X("x2"), new Y("y2") },
...
}
}
@Parameter(0)
public X x;
@Parameter(1)
public Y y;
@Test
public void checkSomething() {
//do something with x and y.
}
}