【发布时间】:2023-04-09 23:40:02
【问题描述】:
据我了解,使用 JUnit 4.x 及其注释 org.junit.runners.Parameterized 我可以使我的单元测试“参数化”,这意味着对于提供的每组参数,整个单元测试将从头开始再次执行。
这种方法限制了我,因为我无法创建“参数化方法”,例如:
..
@Test
public void testValid(Integer salary) {
Employee e = new Employee();
e.setSalary(salary);
assertEqual(salary, e.getSalary());
}
@Test(expected=EmployeeInvalidSalaryException.class)
public void testInvalid(Integer salary) {
Employee e = new Employee();
e.setSalary(salary);
}
..
如示例中所示,我需要在一个单元测试中两个集合参数。可以在 JUnit 4.x 中做吗?例如,在 PHPUnit 中是可能的。
ps。也许有可能在其他一些单元测试框架中实现这种机制,而不是在 JUnit 中?
【问题讨论】:
-
TestNG 确实支持
标签: java unit-testing junit junit4