我学习如何使用JUnit5,并面临一个问题。我看了很多例子,阅读了有关这个问题的信息,但不能决定它。所以,如果我想测试一个测试,这是工作,我得到的结果。但是如果我添加了多个测试(2个或更多),就会得到错误。我的代码来自主类。
public class Project1_Temp {
Project1_Temp(){
}
public static int plusTest(int a, int b) {
return a+b;
}
}
我的类测试代码
import static org.junit.jupiter.api.Assertions.*;
import java.util.Arrays;
import java.util.Collection;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
import org.junit.runners.Parameterized.Parameter;
import org.junit.runners.Parameterized.Parameters;
@RunWith(Parameterized.class)
class Project1_TempTest {
int a,b,expResult;
//@Parameter(0)
/*public int a;
//@Parameter(1)
public int b;
//@Parameter(2)
public int expResult;
*/
@Parameterized.Parameters
public static Collection<Object[]> data() {
//Object[][] data = new Object[][] { { 1 , 2, -5 }, { 5, 3, 15 }, { 121, 4, 484 } };
return Arrays.asList(new Object[][] {{1,2,3},{0,0,0},{5,2,7},{2,2,5}});
}
Project1_TempTest(int a, int b, int expResult){
this.a = a;
this.b = b;
this.expResult = expResult;
}
@Test
void test() {
assertEquals(expResult, Project1_Temp.plusTest(a, b));
}
}
我得到的错误是:
no parameterresolver registered for parameter int arg0 in constructor
我看了不同的论坛,在那里讨论这个错误,但不明白,我怎么能决定呢。请帮帮我:)
暂无答案!
目前还没有任何答案,快来回答吧!