问题标签 [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 回答
388 浏览

python - 如何使用nose_parameterized参数化setUp方法

我在我的项目中使用nose_parametrized 包并在类级别使用@parametrized.expand 装饰器。但我不知道如何为我的 setUp 类使用参数。代码如下所示:

这种做法导致TypeError: setUp() takes exactly 2 arguments (1 given)

什么是正确的方法?

0 投票
1 回答
93 浏览

java - 是否可以对@BeforeEach 进行参数化,即根据每个@Test 给出的参数调用不同的@BeforeEach?

我正在尝试编写一个需要使用特定设置的测试类。当只有 1 个设置时,使用 @BeforeEach 很容易:

但是,当有多种设置可供选择时,我该怎么办?当然,我可以完全忘记 @BeforeEach 并要求同事调用他们想使用的 setup 方法:

但这不再强制使用我的一种设置方法。有没有办法实现“参数化@BeforeEach”?类似于(虚构的语法):

或者更好的是,将其烘焙到 @Test 注释中?

0 投票
1 回答
112 浏览

c++ - 如何在参数化的 googletest 中传递 N 个变量进行测试?

我正在使用 gtest 进行单元测试。我必须调用很多数组来测试。但我不知道如何通过考试 N - number of variables'INSTANTIATE_TEST_CASE_P'

我只是创建了两个数组array1array2并且我在字段'testing :: Values'中传递了这两个数组INSTANTIATE_TEST_CASE_P来测试它们,这个测试工作正常。

我想创建N-number 个数组,例如array1,array2,...,arrayN. 但是我不知道如何在测试所有这些 N 数组的领域testing :: Values中传递它们。INSTANTIATE_TEST_CASE_P

0 投票
1 回答
111 浏览

python - Pytest使用函数参数化测试

我正在尝试使用产生参数值的函数对 pytest 测试进行参数化。我希望它为每个值单独运行测试。这是示例代码:

是否可以使用提供程序函数对测试进行参数化,使其像 test_2 一样工作。

这是我上面测试的日志:

0 投票
1 回答
90 浏览

pytest - Pytest 使用动态值参数化

我想根据给定的列表多次运行测试。我根据“setup_module”部分的给定文件构建列表。有可能做这样的事情吗?

谢谢,阿维

0 投票
1 回答
2184 浏览

python - 具有参数化方法返回值的 pytest monkeypatch 方法

我正在使用该pytest框架为 python 应用程序编写一些测试。我在其中一项测试中遇到问题,我不确定它的工作方式。

例子:

我做monkeypatch了一些我内部的方法XMLOutputBuilder来测试一些错误场景。我希望我的模拟方法会根据传入的参数返回值,但事实并非如此。我理解这种行为是因为模拟和固定装置只加载一次并且不能进一步更改(如果我错了,请纠正我)。

有没有其他方法可以使这种情况起作用?或者我必须为参数编写单独的测试方法?

0 投票
1 回答
1123 浏览

python - PyTest : 在运行时动态生成测试名称

@pytest.mark.parametrize("value",values_list)当我使用夹具运行测试时,我想在运行时动态命名测试。例如:

我想看到的最终结果是 3 个具有以下名称的测试:

测试苹果

test_tomatoes

test_potatoes

我尝试查看 pytest 文档,但我没有找到任何可能阐明这个问题的东西。

0 投票
1 回答
144 浏览

python - 是否可以 @mark.parametrize 两次测试?

我有多个raise ValueError要测试的功能。到目前为止,我的解决方案是:

但在这种方法中,我在每个测试用例中重复函数名称。我试图摆脱它。我想知道是否可以制作类似的东西:

这产生ValueError. 有没有办法使用两个参数化标记相互配合?如果不是,我该如何更正此代码?

0 投票
0 回答
636 浏览

python - 为什么使用 pytest-asyncio 和 @parametrize 会导致测试运行时间比不使用时长

我有一个测试。它向 url 列表发送一个 get 请求,并检查响应是否为 500。

这是我的“获取”功能

它有效,但速度很慢。大约需要 3 分钟才能完成。

但是当我在没有@parametrize 的情况下使用这个测试并且我的“get”函数使用 url_list 时 - 它运行大约 1 分钟。我在第二种情况下的代码:

我想在这里两全其美。有没有办法让测试快速运行,但也可以作为单独的单元运行?

0 投票
1 回答
83 浏览

java - 如何在 Junit 5 中使用 CsvFileSource 转义参数化测试中的双引号

在带有@CsvFileSource 的Junit 5 中使用@ParametrizedTest 时,我需要一个包含双引号的参数。我如何逃避这些,即我如何将exatly"a test"作为我的参数传递?

我试过的:

参数转换为: