JUnit单元测试

下面是一个使用JUnit的参数化测试的例子:


java复制插入

import static org.junit.Assert.assertEquals;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
import org.junit.runners.Parameterized.Parameters;
import java.util.Arrays;
import java.util.Collection;

@RunWith(Parameterized.class)
public class ParameterizedTest {

    private int input;
    private int expected;

    public ParameterizedTest(int input, int expected) {
        this.input = input;
        this.expected = expected;
    }

    @Parameters
    public static Collection<Object[]> testCases() {
        return Arrays.asList(new Object[][] {
                { 2, 4 },
                { 0, 0 },
                { -3, 9 },
                { 10, 100 }
        });
    }

    @Test
    public void testSquare() {
        assertEquals(expected, square(input));
    }

    private int square(int num) {
        return num * num;
    }
}

复制插入

在上面的例子中,我们使用了JUnit的@RunWith(Parameterized.class)注解来指定使用参数化测试运行器。然后,我们定义了一个构造函数来接收测试参数,并在注解@Parameters的方法中返回测试用例的集合。测试用例的集合是一个包含参数数组的集合,其中每个参数数组都表示一个测试用例。在我们的例子中,我们定义了四个测试用例:{2, 4},{0, 0},{-3, 9}和{10, 100}。

@Test注解的测试方法中,我们使用assertEquals断言来比较实际结果和期望结果。我们调用square方法来计算输入参数的平方,并与期望结果进行比较。

当我们运行该测试类时,JUnit会自动根据@Parameters注解的方法生成多个测试实例,并为每个测试实例调用@Test注解的测试方法。

制作不易,请点赞加关注

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值