我想知道用多个值重新运行junit测试以确保覆盖函数的所有边缘情况的最佳方法是什么。(通常是测试目录中的每个文件,或者是覆盖所有主要边缘情况的一组值)
所以,我想做的测试的一个简化的伪例子
@testEach([1,3,5,7,11])
public void isPrime(int number) {
assert("is prime", true, MyClass.isPrime(number);
}
@testEach([2,4,6,8,9,10])
public void isNotPrime(int number) {
assert("is not prime", false, MyClass.isPrime(number);
}
1条答案
按热度按时间7dl7o3gd1#
在jUnit5下,这可以通过
@ParameterizedTest
来实现。请注意,您可以使用多个源
@ValueSource
@EnumSource
@CsvSource
@MethodSource
参见Guide to JUnit 5 Parameterized Tests
在jUnit4下,这是通过JUnitParams实现的。参见Introduction to JUnitParams