junit5中的多个测试

lyfkaqu1  于 2021-07-06  发布在  Java
关注(0)|答案(0)|浏览(490)

我学习如何使用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

我看了不同的论坛,在那里讨论这个错误,但不明白,我怎么能决定呢。请帮帮我:)

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题