问题标签 [parameterized-tests]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
498 浏览

nunit-3.0 - 使用 TestCaseData 参数检查异常

我正在使用 NUnit 3TestCaseData对象将测试数据提供给测试,并使用 Fluent Assertions 库来检查抛出的异常。

通常我的TestCaseData对象包含两个参数param1param2用于在测试中创建某个对象的实例,然后我调用应该/不应该抛出异常的方法,如下所示:

或者

有没有办法在要在测试中使用的对象的第三个参数中传递NotThrow()Throw<ApplicationException>()部分作为特定条件TestCaseData?基本上我想参数化测试的预期结果(它可能是某种类型的异常或根本没有异常)。

0 投票
2 回答
975 浏览

gradle - Kotlintest 中的数据表测试 - 高级方法名称和测试用例的传播

我正在使用 Kotlintest 和数据表来测试使用 Kotlin、SpringBoot 和 Gradle 的应用程序,因为当表中有复杂数据时,语法比 ParameterizedJunitTests 更简洁。

有没有办法像JUnit 中的参数化测试一样使用方法标题中的参数名称?此外,我所有的测试执行都被列为一个测试,但我希望在每个数据表行的测试结果中都有一行。我在Documentation中都没有找到这两个主题。

为了让事情更清楚,举个 Kotlintest 的例子:

和 JUnit 的相应示例:

有 1/3 失败: Kotlintest: Kotlintest gradle 结果有 1/3 失败 Junit: Junit gradle 结果有 1/3 失败

使用数据表时是否有类似于@ParameterizedTest(name = "adding {0} and {1} should result in {2}")kotlintest 的内容?

0 投票
1 回答
48 浏览

junit5 - 是否可以禁用参数化测试中的 valueSource 之一?

我正在使用 JUnit 5,我有一个这样的测试用例:

c案例暂时未处理,因此是否可以使用 @Disabled 仅忽略 c 案例而不是整个测试套件?或者也许建议另一种方法从我的烟雾测试中取出 c 案例。

0 投票
1 回答
3880 浏览

java - 使用参数化测试返回方法应该没有参数

我有一个问题,我想通过测试方法使用 GET 方法和 POST 发送请求。我使用了参数化,但我得到了信息 java.lang.Exception: Method simpleMessage should have no parameters

0 投票
1 回答
383 浏览

maven - 如何在 Maven 中按名称包含/排除 JUnit 5 `ParameterizedTest`

我有一个参数化的 JUnit 5 测试,例如

我想排除在 Maven 中运行的枚举案例之一,如下所述

相同的事情没有!将意味着包含,即只执行这个测试。

我玩弄了排除表达式和方括号,但我没有找到使它起作用的组合。

一个演示项目在 GitHub 上

0 投票
2 回答
613 浏览

android - 是否可以编写参数化的 android espresso UI 测试?

在编写 android espresso UI 测试时,是否可以编写参数化测试来接受来自两个不同 json 文件的数据以在应用程序内添加项目列表?我已经看到参数化测试需要两个文件并为 junit 测试运行相同的测试代码,但找不到 android espresso UI 测试的任何参考

0 投票
0 回答
307 浏览

json - Mockito Junit jupiter api没有解析参数JsonObject

为了从 JSON 文件中获取测试用例的多个值,添加注释 @jsonfilesource 并将 JSONObject 作为参数传递给 Mockito 框架中的方法。但我越来越低于例外

错误 - org.junit.jupiter.api.extension.ParameterResolutionException。无法解析参数 javax.json.JsonObject。由 java.lang.NoSuchMethodErroor org.junit.jupiter.api.extension.parametercontext 引起

如果没有 Mockito 注释 @ExtendWith(MockitoExtension.class),它可以工作,但其他与 mockito 相关的东西不起作用。请有人指导我如何在 MockitoFramework (JUNIT 5) 中使用 JSON 配置 @ParameterizedTest 我的示例代码如下,

0 投票
0 回答
102 浏览

unit-testing - 如何修复参数化测试中的参数?

我正在使用 gtest 进行测试,并且正在发现值参数化测试。我理解谷歌的例子

它正在测试 'true' 与 {1, 2, 3} 和 'false' 与 {1,2,3} 的所有组合。

  1. 如果我想将布尔值修复为“假”,我该怎么做?
  2. 我想测试几种组合,例如 (true, ::testing::ValuesIn(tab)), (true, ::testing::ValuesIn(tab2)) , (false, ::testing::ValuesIn(tab3)) ?

好吧,我迷路了。

0 投票
1 回答
246 浏览

python - 如何将参数化值传递给 pytest 夹具?

我正在使用 pytest 运行测试,每个测试都有一个唯一的帐户 ID。每个测试功能都需要一些设置和拆卸,我根据之前的建议切换到使用夹具。但是现在我需要使用与每个测试关联的唯一帐户 ID 来正确设置和拆除测试。有没有办法做到这一点?

另外,我在会话级别和类级别上需要一些设置,这可能是不相关的,但 create_and_destroy_test 函数需要这些设置。

0 投票
1 回答
171 浏览

junit5 - JUnit5 - 如何将输入集合传递给 ParameterizedTest

我正在尝试将 aParameterizedTest从 JUnit4 转换为 JUnit5(遗憾的是我并不是特别擅长测试)。

在 JUnit4 中,我有以下课程:

AssertionTestCaseDataProvider课堂上我有一个简单的方法生成一个集合Object[]

我一直在尝试使用 JUnit5 翻译它并获得了这个:

}

我没有对AssertionTestCaseDataProvider课程进行任何更改。不过,我收到以下错误:

我知道在初始化测试的输入集合时我可能没有正确应用 JUnit5。我错过了一些注释吗?

我也尝试使用@ArgumentSource而不是@MethodSource实现Argumentfor AssertionTestCaseDataProvider,但结果相同。