gpt4 book ai didi

java - 使 jUnit runner 使用不同的参数多次运行测试类

转载 作者:行者123 更新时间:2023-11-29 04:46:31 25 4
gpt4 key购买 nike

我有一些 jUnit4 测试类,我想使用注释中传递的不同参数运行多次。例如,像这样:

@RunWith(MyClassRunner.class)
@Params("paramFor1stRun", "paramFor2ndRun")
class MyTest {
@Test
public void doTest() {..}
}

我假设 Runner 可以帮助我,但我不知道如何实现它。你能给点建议吗?

最佳答案

  1. 您需要在测试中添加注释 @RunWith(Parameterized.class)

  2. 然后,使用您需要的参数为您的类创建一个构造函数:

    public Test(String pParam1, String param2) {
    this.param1 = pParam1;
    this.param2 = pParam2;
    }
  3. 然后,声明一个这样的方法(它提供了一个与构造函数对应的参数数组):

    @Parameters
    public static Collection<Object[]> data() {
    Object[][] data = {{"p11", "p12"}, {"p21", "p22"}};
    return Arrays.asList(data);
    }
  4. 你可以做你的测试,这将对你的数组的每一行执行:

    @Test
    public void myTest() {
    assertEquals(this.param1,this.param2);
    }

如果您使用注解 @Parameter(value = N),则无需定义构造函数即可获得更快的方法,其中 N 是参数数组的索引。

关于java - 使 jUnit runner 使用不同的参数多次运行测试类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36909688/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com