当前位置: 首页 > 知识库问答 >
问题:

JUnit Jupiter中的参数化测试执行(JUnit5)

居晗日
2023-03-14
@RunWith(Parameterized.class)

我试图定义一个CustomExtension,如示例MockitoExtension所提供的,但无法成功地使用参数化的类实例。

期待着关于如何用在Junit5中实现接口的类的参数化实例测试接口的建议。

共有1个答案

安高翰
2023-03-14

JUnit5M4刚刚发布,现在支持参数化测试。

以下是“Hello World”示例:

@ParameterizedTest
@ValueSource(strings = { "Hello", "World" })
void testWithStringParameter(String argument) {
    assertNotNull(argument);
}

有关完整文档和其他示例,请参阅用户指南。

 类似资料:
  • 主要内容:1. 使用XML传递参数,2. 通过@DataProvider传递参数,3. @DataProvider + 方法,4. @DataProvider + ITestContextTestNG中的另一个有趣的功能是参数化测试。 在大多数情况下,您会遇到业务逻辑需要大量测试的场景。 参数化测试允许开发人员使用不同的值一次又一次地运行相同的测试。 TestNG可以通过两种不同的方式将参数直接传递给测试方法: 使用 使用数据提供者 在本教程中,我们将向您展示如何通过XML 或将参数传递给方法。

  • 主要内容:1 参数化测试的介绍,2 使用@Parameter进行字段注入而不是构造函数,3 使用单个参数进行测试,4 识别单个测试用例1 参数化测试的介绍 自定义流道参数化实现参数化测试。运行参数化测试类时,将为测试方法和测试数据元素的叉积创建实例。 例如,要测试斐波那契函数,请编写: FibonacciTest的每个实例都将使用二元参数构造函数和方法中的数据值构造 @Parameters 。 2 使用@Parameter进行字段注入而不是构造函数 也可以将数据值直接注入字段中,而无需使用@Pa

  • 参数化测试可以用不同的参数多次运行测试。它们和普通的@Test方法一样声明,但是使用@ParameterizedTest注解。另外,您必须声明至少一个将为每次调用提供参数的来源(source)。 参数化测试目前是实验性功能。有关详细信息,请参阅实验性API中的表格。 @ParameterizedTest @ValueSource(strings = { "racecar", "radar", "a

  • 首先,对不起我的英语,它不是那么完美:) 所以我面临以下问题:我试图使用Selenium Grid和TestNg在不同的浏览器中运行并行测试,并在@BeforeTest方法中传递参数。我的问题是,当每个测试初始化时,他们似乎会使用最后一个测试的参数。所以在这个例子中,当我运行测试时,它将打开两个Chrome,而不是一个火狐和一个Chrome。(browser.getDriver()方法返回远程We

  • 问题内容: 首先,对不起我的英语,它不是那么完美:) 因此,我面临以下问题:我正在尝试使用Selenium Grid和TestNg在不同的浏览器中运行并行测试,并在@BeforeTest方法中传递参数。我的问题是,在初始化每个测试时,似乎它们将使用最后一个测试的参数。因此,在此示例中,当我运行测试时,它将打开两个Chrome,而不是一个Firefox和一个Chrome。 (browser.getD

  • JUnit 4引入了一项名为parameterized tests的新功能。 参数化测试允许开发人员使用不同的值反复运行相同的测试。 创建参数化测试需要遵循五个步骤。 使用@RunWith(Parameterized.class)注释测试类。 创建一个使用@Parameters注释的公共静态方法,该方法返回一个对象集合(作为数组)作为测试数据集。 创建一个公共构造函数,它接受相当于一行“测试数据”