问题标签 [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 投票
1 回答
752 浏览

java - 如何在参数化测试中的方法中传递动态流参数(Junit5)

我创建了一个 Stream 方法,其中包含我想在测试中传递的参数。我从 3 个不同的实体获取数据。我创建了两个对象(电子邮件、密码),我想在其中保存这些参数的值并将它们传递给登录方法。问题是它们始终为空。

}

在此处输入图像描述

0 投票
0 回答
37 浏览

junit4 - 运行 JUnit 4 参数化测试时遇到障碍(我是 JUnit 测试的新手)

我是 JUnit 测试的新手。我在这个参数化测试中遇到了一个问题,即使我尝试了一些方法,测试也总是失败。

这是测试类:

这是测试结果:

第一个结果:

第二个结果:

我现在很困惑这种结果是如何发生的,请问您有什么意见可以解决这个问题?

0 投票
1 回答
415 浏览

java - JUNIT @ParameterizedTest ,参数解析异常

Eclipse 版本 - 4.19.0 Maven 版本 - 3.8.1

在 JUnit 中,我尝试使用 @CsvSource 或 @MethodSource 来实现 @ParameterizedTest。由于 org.junit.jupiter.api.extension.ParameterResolutionException,两者都失败了:

有人可以帮助我做错什么。

以下是我实现堆栈功能的类。

以下是我的测试课

以下是我的 pom 文件

以下是堆栈跟踪:

0 投票
1 回答
1220 浏览

unit-testing - 如何在 JUnit 5 中使用少量枚举创建参数化测试?

例如,我的项目中几乎没有枚举 - 图(值为 TRIANGLE 和 SQUARE)和 Color(值为 RED 和 YELLOW)。如何使用笛卡尔积(所有组合)创建测试?跟随代码不起作用。

我想获得所有组合:

我的临时解决方案是使用注释 @MethodSource

但我不想在我的测试中有额外的代码。JUnit 5 对我的问题有什么解决方案吗?

0 投票
0 回答
48 浏览

kotlin - Kotlin 中的参数化测试使用嵌套测试类的方法源代码

我可能会用 case 被测类有很多用例,所以它被划分为内部类的结构。我想编写参数化测试用例以减少样板和代码重复。为此,我想采用方法源的方法。待测类

测试用例结构

为了提供参数提供者方法,我尝试将其放置在位置并得到以下错误

  • 位置外部:初始化错误:在类中找不到工厂方法
  • 位置 A、B:编译错误:此处不允许同伴

如何做到这一点?

0 投票
0 回答
24 浏览

python-3.x - Pytest 夹具在使用从 yamls/json 加载的参数化值时忽略范围

我正在使用 pytest 运行测试。

我想在一个模块中所有定义的测试之前运行一个前置条件,所以我创建了一个前置条件函数并用 pytest.fixturewith修饰它,scope = "module"因此它只会对模块中的所有测试执行一次。这个先决条件需要另一个夹具test_target来为测试做准备。除此之外,他们自己的测试功能也使用了test_target以及test_param从 yaml 文件中加载的另一个。 要测试的设备总是在包含要测试的目标信息的 devices.yaml 文件中定义,因此我正在参数化yaml 文件中加载的数据test_targettest_param

我遇到的问题是,我定义为在模块范围内运行的前提条件是在函数范围内运行。

我注意到,当我直接将字典分配给 test_target 以进行参数化时,前提条件的行为符合预期(模块范围),但是我需要对设备信息进行硬编码。

我究竟做错了什么?也许还有另一种解决方法来执行这个前提条件?我已经用 json 试过了,我的行为与 yaml 完全相同

我的设置使用:

  • WSL-Ubuntu 20.04
  • 蟒蛇3.9
  • pytest 6.2.5

我的示例测试树:

站.yaml

站.json

conftest.py

测试1.py

测试2.py

在我得到这个输出之前,当我在代码中运行测试时

而如果我直接运行测试并分配加载的值(在 conftest.py 中取消注释行)

我得到以下输出:

0 投票
1 回答
41 浏览

java - 带有 displayName 和 Argument 的参数化测试

我正在尝试从 JUnit4 迁移到 JUnit5,而且我是 Junit5 中的 ParametrizedTest 的新手,我有一个场景,我想提供不同的 DisplayName 和 Test 参数(对象)。

这是我想用作 @MethodSource("data") 输入的数据源

这就是测试

执行 TestCase 时,我看到 DisplayName 被正确拾取,但它说其他参数不可解析

您能否指导我在这里做错了什么!

谢谢

0 投票
1 回答
34 浏览

java - 从@ParameterizedTest(Jupiter-Junit 5)动态更改抽象类中的@MethodSource

我目前正在编写与 GET 请求相关的单元测试,下面是一个采用通用类型 E 的参数化测试。

我想要做的是在运行时根据 E 的实际类型动态更改方法源。

例子:

这里 E 是 Animal 类型,所以我想将 @MethodSource 更改为

有什么办法吗?我一直在寻找几个小时无济于事...

0 投票
1 回答
35 浏览

pytest - 如何使用具有相同参数化输入的多个 pytest 夹具来测试类中的方法

我想实现这样的目标:

我的 conftest.py 将包含:

  • fixture_1 - 将使用 request.param 对输入(例如 a、b、c)进行一些操作
  • fixture_2 - 将使用 request.param 对输入(例如 a、b、c)进行一些操作
  • fixture_3 - 将使用 request.param 对输入(例如 a、b、c)进行一些操作

任何建议将不胜感激。