问题标签 [parameterized-unit-test]

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

c# - 在 NUnit TestFixture 构造函数中使用 Values- 和 Range-Attribute

我有多种测试方法应该测试多个参数的所有可能组合。我可以在这样的方法上使用NUnit ValueAttributeRangeAttribute

但是,在我的实际案例中,有 4 个参数、十几个方法和更多值,因此为每个方法写出所有值变得很乏味,如果我想进行更改,我可能会在某个地方出错。

如何将所有值组合的测试生成从单个方法移到TestFixture主体中?以下不起作用,但这将是我想要的:

我已经知道TestFixtureAttribute可以接受参数,但它们不能按我想要的方式工作。我只能给每个参数一个硬编码的值。相反,我想使用范围并让 NUnit 为每个组合创建一个测试。另外,我希望该解决方案可以在 NUnit 2.6.4 中使用。

0 投票
1 回答
381 浏览

rules - 参数化测试类中的 IllegalArgumentException

我有一个参数测试类,并且我有一个测试方法,我希望它返回 IllegalArgumentException。

但我收到了这个错误:初始化错误:没有找到匹配方法 negetiveSideTest 的测试。

有人有解决办法吗?

0 投票
1 回答
672 浏览

python - 根据条件应用不同的装饰器

我正在使用单元测试和鼻子参数化,并希望根据条件将不同的装饰器应用于测试。

我有一个测试,我想跳过unittest.skip测试或@parameterized.expand(args)根据传递给 args 的参数执行它。

我想我需要另一个装饰器来将适当的装饰器应用于测试,但现在确定如何。

伪代码可能是这样的:

如果 args ==None 或其他情况下@validate_data(args)适用的装饰器在哪里unittest.skip@parameterized.expand(args)

任何意见/建议表示赞赏。

0 投票
5 回答
14984 浏览

unit-testing - jasmine 参数化单元测试

好吧,作为一个 C# NUnit 人,这可能很奇怪。

但是茉莉花允许参数化单元测试吗?

我不确定它是否违反“声明”和“它”以使非程序员可以阅读。

我见过一些第三方插件,但它们有点旧,不确定它是否已添加到 jasmine 中。如果我要使用插件

只是为了帮助将来发现这个问题的人,我在 jasmine 论坛上被告知 Jasmine 本身没有对参数化测试的一流支持。

0 投票
1 回答
97 浏览

nunit - 在以下测试中使用 [ValueSourceAttribute] Nunit 测试的输出

我正在开发一个单元测试项目,我在测试中创建一个项目,然后在以下测试中为其创建子项目。

这些测试是参数化的测试,这些参数是在运行时收集的,所以项目一启动就启动。它无法从数据库中检索父项,因为它们尚未创建“因为我还没有运行第一个测试”。

有解决方法吗?

第一个功能:

第二个失败的功能:

更新:当我从 GUI 上单击 Clear 夹具时,测试数据被重新加载,但有没有办法在没有 GUI 的情况下做到这一点?

0 投票
0 回答
584 浏览

android - robolectric 参数化测试 - PointF 数组

美好的一天,我的开发者伙伴们,

我正在尝试为我的 VectorHelper 类编写一个数据驱动单元测试。由于该类在 PointF 对象上工作很多,并且这些对象在主机 JVM 上的 android.jar 中没有实现,所以我使用 Robolectric 框架中的所谓阴影。它在简单的单元测试中确实有效,但是当我尝试将 PointF 对象放入参数化测试时,它不起作用并且总是返回 x=0 和 y=0 的 PointF。就像它使用存根构造函数一样,没有实际设置 fields。这是我的代码:

日志输出为:

2016 年 9 月 4 日下午 4:19:23 com.example.neutrino.maze.VectorHelperHorizo​​ntalAlignmentUnitTest 信息:U:(0.0, 0.0) --> (0.0, 0.0) 2016 年 9 月 4 日下午 4:19:23 com.example。 neutrino.maze.VectorHelperHorizo​​ntalAlignmentUnitTest INFO: V: (0.0, 0.0) --> (0.0, 0.0) Sep 04, 2016 4:19:23 PM com.example.neutrino.maze.VectorHelperHorizo​​ntalAlignmentUnitTest INFO: U: (0.0, 0.0) --> (0.0, 0.0) 2016 年 9 月 4 日下午 4:19:23 com.example.neutrino.maze.VectorHelperHorizo​​ntalAlignmentUnitTest 信息:V: (0.0, 0.0) --> (0.0, 0.0) 2016 年 9 月 4 日 4:下午 19:23 com.example.neutrino.maze.VectorHelperHorizo​​ntalAlignmentUnitTest 信息:U: (0.0, 0.0) --> (0.0, 0.0) 2016 年 9 月 4 日下午 4:19:23 com.example.neutrino.maze.VectorHelperHorizo​​ntalAlignmentUnitTest 信息: V: (0.0, 0.0) --> (0.0, 0.0) 2016 年 9 月 4 日下午 4:19:23 com.example.neutrino.maze。VectorHelperHorizo​​ntalAlignmentUnitTest INFO: U: (0.0, 0.0) --> (0.0, 0.0) Sep 04, 2016 4:19:23 PM com.example.neutrino.maze.VectorHelperHorizo​​ntalAlignmentUnitTest INFO: V: (0.0, 0.0) --> ( 0.0, 0.0) 2016 年 9 月 4 日下午 4:19:23 com.example.neutrino.maze.VectorHelperHorizo​​ntalAlignmentUnitTest INFO: V: (0.0, 0.0) --> (0.0, 0.0) Sep 04, 2016 4:19:23 PM com.example.neutrino.maze.VectorHelperHorizo​​ntalAlignmentUnitTest INFO: U: ( 0.0, 0.0) --> (0.0, 0.0) 2016 年 9 月 4 日下午 4:19:23 com.example.neutrino.maze.VectorHelperHorizo​​ntalAlignmentUnitTest 信息:V: (0.0, 0.0) --> (0.0, 0.0) 9 月 4 日, 2016 下午 4:19:23 com.example.neutrino.maze.VectorHelperHorizo​​ntalAlignmentUnitTest 信息:U: (0.0, 0.0) --> (0.0, 0.0) 2016 年 9 月 4 日下午 4:19:23 com.example.neutrino.maze.VectorHelperHorizo​​ntalAlignmentUnitTest 信息:V: (0.0, 0.0) --> (0.0, 0.0) 2016 年 9 月 4 日下午 4:19:23 com.example.neutrino.maze.VectorHelperHorizo​​ntalAlignmentUnitTest 信息:U: (0.0, 0.0) --> (0.0, 0.0) 2016 年 9 月 4 日下午 4:19:23 com.example.neutrino.maze。 VectorHelperHorizo​​ntalAlignmentUnitTest INFO: V: (0.0, 0.0) --> (0.0, 0.0)

如何解决?

提前谢谢你,格雷格。

0 投票
2 回答
1003 浏览

c# - 是否有更简单的方法来处理具有太多条件的方法的单元测试?

我有一个方法,其中有很多条件:


我想对这个函数进行单元测试,但是条件太多了,如果你考虑每一个组合,单元测试的数量就会很疯狂。该返回语句中有 16 个条件,并且由于每个条件都是真/假,即 2^16 种不同的组合,我需要检查。我真的需要在这里创建 2^16 个不同的单元测试来确保每个条件都被利用吗?请注意,这是一个简单的例子。由于法律要求,我的一些功能具有复杂的条件:

根据我的一些函数的数学计算,条件可以产生的不同组合的数量是数百万!我研究了数据驱动单元测试 (DDUT) 以及参数化单元测试 (PUT),但这只是让单元测试成为“填空”风格。我仍然必须提供所有各种组合和预期的结果!例如:

如果我使用 MSTest 来提取数据源(例如 csv),我仍然会遇到同样的问题。我有太多的组合会产生不同的结果。有没有我不知道的替代方案?

0 投票
0 回答
242 浏览

java - JUnit 参数化测试动态加载列表

我有一个产品列表,每个产品都有自己的目录列表。每个产品的可用目录都不相同。我很想参数化这个套件,以测试每个目录是一个测试用例的方式,但到目前为止只使用静态参数列表,即

目录是从 config.xml 文件加载的。如果没有其他方法,我将扩展此解决方案以满足我的需要,但我想知道是否有办法到达@Before 中显示列表的位置,并在阅读可用目录和将其传递给@Parameterized.Parameters

0 投票
1 回答
11288 浏览

c# - 无法在单元测试项目中获取类的默认构造函数

我创建了一个单元测试项目。我得到一个异常指定

无法获取类 *****.Tests.Controllers.PersonRegistration 的默认构造函数

为了消除这个问题,一些线程说要添加一个没有参数的默认构造函数。所以我也添加了这个

但后来我解决了这个异常。但我得到NULL的价值 _userManager_loggingService

空值

如何解决这个问题。我不想在传递时生成空值。

请通过建议一种不使用Moq或任何其他模拟框架来解决此问题的方法来帮助我。

0 投票
2 回答
3059 浏览

python - 分别计算 Python 单元测试中的子测试

从 3.4 版开始,Python在编写 unittests 时支持简单的子测试语法。一个简单的示例可能如下所示:

运行测试时,输出将是

然而,在我的真实世界用例中,子测试将依赖于更复杂的迭代,并检查每个子测试非常不同的东西。因此,我宁愿计算每个子测试并将其列为输出中的一个单独的测试用例(Ran 6 tests in ...在本例中),以获得完整的画面。

unittest在 Python 中的普通模块有可能吗?鼻子测试生成器功能将单独输出每个测试,但如果可能的话,我希望与标准库保持兼容。