问题标签 [parametrized-testing]

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 回答
42 浏览

unit-testing - 是否可以选择在 Spock 中动态生成 n 个测试

我有一个包含 n 行的文件。

在我的 Spock 测试中,我下载、读取文件并声明它的每一行。

有没有办法在报告中生成 n 个测试而不是一个?

0 投票
1 回答
62 浏览

ruby - 是否有可能使用 Ruby+Minitest 编写参数化测试?

我最近开始从事一个使用 Ruby+Minitest 的自动化测试项目,我想知道我是否可以运行 1 次测试,其次数是我提供的输入数据的次数。

所以,我有点喜欢(代码在保密协议下,所以我不能提供真实的例子)

诀窍是,在process_new_entry方法内部有一个循环,我很高兴摆脱它,只需运行这个测试,其次数与list_entries

在 Java+Selenium 中的 TestNG 中,我想起了使用数据提供程序的概念,该数据提供程序在测试方法中逐个传递输入数据。有没有可能在这里实施类似的方法?

0 投票
1 回答
305 浏览

java - 如何使用 ParameterizedTest 中的参数的嵌套属性定义显示名称(name = #{index} multiply {0[0]} x {0[1]} = {0[2]})

我无法确定它是否是缺少的功能,请参阅JUnit 问题 1154在那里的评论,或者只是我无法正确编写JUnit5中名称的语法。@ParameterizedTest鉴于过去 3 年这个问题已经开放,恐怕我不能等到我得到答案甚至那里的实施,所以我也想在这里问。

在我的示例 ParameterizedTest 中,我使用的是@MethodSource,它返回一个整数数组流,我只想使用这些数组的属性,而不是{arguments}使用{0}. 在这里很难口头解释,最好使用下面的代码示例。

第一次运行的测试结果输出如下所示:#1 for [1, 2, 2]: [1, 2, 2] x {1} = {2}

理想情况下,我希望看到这个:#1 multiply: 1 x 2 = 2.

所以问题是什么是符合我期望的@ParametrizedTest(名称定义?)

我正在尝试这样的事情: name = "#{index} multiply : {[0][0]} x {[0][1]} = {[0][2]}" 但它在语法上不正确。

0 投票
1 回答
653 浏览

python - Pytest - 如何通过参数首先在参数化测试中排序测试执行

我有以下参数化测试:

结果:

目标结果:

信息:
我只需要先执行test01with url1= "url0001" 和test02with url1= "url0001",然后使用下一个参数循环所有测试,例如test01with url1= "url0002"、test02with url1= "url0002" 等等。我有 url 列表,并希望使用该 url 列表执行正确的测试集。

更新

第一次测试的结果:评论中有conftest的空套件,我不知道单独运行它(试图学习,但现在对我来说太难了)。

0 投票
1 回答
129 浏览

python-3.x - 在pytest的conftest.py中设置测试执行顺序,参数化测试

conftest.py:

test_urls.py:

结果:现在 测试执行序列- https://prnt.sc/ttw4or conftest 按名称(字母)对测试进行排序,我需要删除此依赖项。

目标结果:需要 测试执行序列- test_go_ca_sslcheck() > 具有第一个 url 的类迭代 > 具有下一个 url 的类迭代,直到它们结束 > def test_close_browser()

注意: 也许有更简单的方法可以实现目标,请详细描述,我的知识非常有限。先感谢您!

0 投票
1 回答
63 浏览

python - pytest,参数化第一个列表中的 x 和第二个列表中的 y

结果

目标结果:

对于一个列表,它适用于“@pytest.mark.parametrize("url", xlist)",但我没有找到关于多个的东西。请问有什么解决办法吗?

0 投票
2 回答
65 浏览

python - pytest 中的参数化测试,不同测试功能的标记不同

我目前正在尝试在以下上下文中使用 pytest 的参数化功能:

我有多个功能应该使用一组通用的测试用例进行测试。根据测试的功能,相同的测试用例应该通过或失败。我想出了一个愚蠢的例子来说明这一点:

不幸的是,似乎不可能只通过额外的标记(pytest.mark.xfail(reason=AssertionError)喜欢parametrize()它可以通过 IDs 来完成。

什么是实现这一目标的好方法?

0 投票
1 回答
1713 浏览

java - 如何使用 JUnit5 参数化测试 CSV 文件源?

我正在尝试从 CSV 文件运行参数化测试。

如果我像这样使用 CSVSource,它就可以工作:

但是,如果我从文件中尝试相同的操作,它将无法正常工作:

我也尝试过使用文件的硬路径,但是对于 Eclipse 中的文件测试,我总是会收到消息

没有使用测试运行程序“JUnit 5”找到测试。

JUnit 期望文件在哪里?

这些是我的依赖项:

有人知道我可能缺少什么或错误在哪里吗?

提前感谢
保罗

0 投票
1 回答
660 浏览

python - 如何在 Pytest 参数化功能中调用对象的属性

我有一些只返回一个类的对象的装置。这些对象包含我试图在 pytest 中验证的该类的属性,因此代码如下所示:

此代码将始终返回属性错误:

但是,尝试使用像这样的简单测试来测试这些属性将起作用:

我可以就这个问题获得一些建议,因为我在任何地方都找不到关于如何在参数化中正确调用对象属性的说明?

非常感激!

0 投票
1 回答
161 浏览

java - junit 5 自定义参数化测试

我正在使用具有自定义名称的 Junit 5 参数化测试,如下所示

wherePARAMETERIZED_TESTS_NAME_PLACEHOLDER 在其自己的实用程序类中定义

我面临的问题是,当我广泛使用参数化测试时,我的代码被这些@ParameterizedTest(name = PARAMETERIZED_TESTS_NAME_PLACEHOLDER).

所以我创建了一个自定义注释来解决这个问题

但是当我在测试用例中使用它时,这个注释被忽略了

任何帮助,将不胜感激