尝试运行Junit测试时发生java.lang.IllegalArgumentException错误
问题描述:
我想用Junit运行参数化测试,但我不断收到错误java.lang.IllegalArgumentException。我曾试图谷歌的问题,但我似乎无法弄清楚为什么这段代码不工作。任何反馈将不胜感激。尝试运行Junit测试时发生java.lang.IllegalArgumentException错误
package mainPackage;
import static org.junit.Assert.*;
import java.math.BigInteger;
import java.util.Arrays;
import java.util.Collection;
import org.hamcrest.Matcher;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
import org.junit.runners.Parameterized.Parameters;
@RunWith(value = Parameterized.class)
public class IsPrimeTest {
private String numA;
private boolean expected;
public void IsPrimeTest(String numA, boolean expected) {
this.numA = numA;
this.expected = expected;
}
@Parameters
public static Collection<Object[]> data(){
return Arrays.asList(new Object[][]{
{"13", true}
});
}
@Test
public void ParameterizedTestIsPrime() {
IsPrime test = new IsPrime();
assertEquals(IsPrime.isPrime(new BigInteger(numA)), expected);
}
}
答
public void IsPrimeTest(String numA, boolean expected) {
应该
public IsPrimeTest(String numA, boolean expected) {
构造函数不能有返回类型,否则它不是一个构造函数。