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

unit-testing - 使用 RGR 方法时,属性测试是否应该与单元测试一起运行?

使用 RGR 方法时,属性测试是否应该与单元测试一起运行?

RGR:红色 -> 绿色 -> 重构

我注意到我在 18 毫秒内执行的单元测试。

但是,我对相同方法的属性测试需要 215 毫秒。

所以我的属性测试需要四分之一秒才能执行。

此外,这只是一个简单的属性测试。

运行属性测试的有效方法是什么?

只是签到?

0 投票
1 回答
146 浏览

unit-testing - 我将如何对纸牌游戏的发牌功能进行基于属性的测试?

我正在研究基于属性的测试,并且很好奇如何将这种类型的测试应用到 BlackJack 游戏的 Deal 函数中。

这是一个单元测试(又名:基于示例的测试):

什么是基于属性的测试的示例?

  • 我会测试两张牌是否在 4 套花色范围内吗?(即黑桃、方块、红心、梅花) 依赖静态类型不会对我来说已经确保了吗?

  • 我会测试两张牌是否在数字或面的范围内?(即 2..10;Jack;Queen;King;Ace) 再一次,依赖静态类型不是已经为我确保了吗?

同样,在为二十一点游戏执行基于属性的测试时,我应该考虑什么?

0 投票
1 回答
268 浏览

eclipse - 纯 E4 使用 activeWhen 表达式

我正在将我的 E3 迁移到纯 E4 应用程序。E3 应用程序将 activeWhen-Core 表达式与 propertyTesters 结合使用来启用/禁用 ToolItems。现在在 E4 中只支持 VisibleWhen 核心表达式(对吗?)。

我现在会使用@CanExecute-Annotation 执行此操作,还是有(隐藏的)activeWhen 表达式?如果是这样,我可以在这种情况下使用已经存在的测试人员还是使用新方法会更好(比如针对个别情况的单独测试)?

0 投票
1 回答
784 浏览

scala - 为在ScalaCheck中保存“数字”的案例类创建一个任意实例?

我特别想定义 Semigroup 和 Sum 类型,它是一个 Semigroup,并使用 ScalaCheck 通常检查 Semigroup 的 Associative 属性。

我首先在 Haskell 中写了这个,因为我发现首先在 Haskell 语法中考虑这些东西然后将它们转换为 Scala 更容易。

所以在 Haskell 中,我写了以下在 GHCi 中有效的代码:

我正在尝试在 Scala 中创建大致等效的东西。到目前为止,我有你在下面看到的:

我不知道如何Arbitrary为更通用Sum[Numeric]的 或至少 a创建一个实例,Gen[Sum[Numeric]]以及如何创建一个更通用的可以采用wheresemigroupAssocProp类型的 x、y 和 z并且是任何具体类型的实例。SS extends Semigroup[T]T

我真的想在功能上尽可能接近我在 Scala 中编写的 Haskell 版本。

0 投票
1 回答
76 浏览

eclipse-plugin - 如何在 Eclipse 中评估属性?

请耐心阅读,我已尽力解释情况,如果没有,请发表评论-

我有两个插件说AB。在这两个插件中,我为命令定义了一个“and”表达式。“and”表达式中的条件之一是测试一个属性让我们说mypropA不依赖B也不B依赖A

在第三个插件中定义了一个属性测试器,可以说CAB两者都依赖于C

在第四个插件D中,定义了扩展点,并在插件org.eclipse.core.expressions.propertyTesters中定义了要由测试器测试的属性列表C

A,也B取决于插件D

我在 eclipse 中看到一个奇怪的行为 - 只有当插件 B 定义的透视处于活动状态时,myprop才会调用属性测试器。B因此,如果插件尚未处于活动状态,则当 RCP 启动时,属性测试器不会测试该属性myprop,并且当我从 plugin 的角度来看时它会返回意外的值A

稍后,当我提出 pluginB的观点时,属性测试器进行测试,然后myprop插件A开始正常工作。

问题:为什么属性测试器需要B激活插件?eclipse框架如何评估属性,是否有顺序?或者实际上我应该问:何时以及如何触发特定属性的属性测试器?有没有关于它的文件?

0 投票
0 回答
231 浏览

java - 如何在 Eclipse 4 中手动强制评估属性测试器?

一个应用程序从 eclipse 3 更新到 eclipse 4。一些属性测试的评估被强制手动调用以下行:

这不再适用于 eclipse 4。那么触发评估的正确方法是什么?

我在工具栏中有切换按钮,并且工具栏具有编辑图形组件的功能。命令在工具栏菜单中用作切换项。每个命令后面都有两个不同的处理程序,可见性由属性测试器管理(如果另一个是隐藏的,第一个是可见的)。执行后,属性测试的评估被迫为下一次设置正确的处理程序可执行文件。将所有处理程序更新为新的 @CanExecute 方法会导致大量工作和测试。如果有办法强制对属性测试人员进行评估,那就太好了。如果在同一切换的两次单击之间选择另一个编辑器/视图,它工作正常。

0 投票
1 回答
697 浏览

python - Python假设-为许多测试构建一次策略?

我有一个复合的、构建成本高但测试成本低的策略。我必须这样做:

构建示例大约需要 4 秒,而运行断言的时间可以忽略不计。

最佳实践要求将这些测试分开。

我不清楚如何结合假设策略和例如。TestCase.setUp 或 pytest 会话范围的固定装置。装饰夹具和调用x = expensive_strategy(); @given(x)都无济于事。

0 投票
1 回答
879 浏览

testing - 如何在 Go 包之间共享测试接口?

Go 不会在不同包的测试文件之间共享代码,因此测试接口的定义不会自动重用。我们如何在实践中解决这个问题?

使用示例testing/quick

foo/foo.go

bar/bar.go

我们想要属性 test foo,所以我们定义testing/quick.Generateon Thing

foo_test.go

quick.Value按预期返回Thing[0,3) 范围内的 s:

让我们也进行属性测试bar

但是Box.Generate坏了。foo_test.go不可用bar_test.go,所以quick.Value()不使用Thing.Generate()

有解决方法吗?人们testing/quick在实践中如何使用(或任何其他带有接口的测试库)?

0 投票
1 回答
66 浏览

property-testing - 为 Vavr 属性检查生成包含 Long 的元组

我需要一对随机 long 来使用 Vavr 检查属性

我的实现如下所示:

在 vavr 中有没有更好/更好的方法来做同样的事情?

0 投票
1 回答
38 浏览

scala - 如何为特定列表内容编写属性测试

我有以下功能,我想用 ScalaCheck 测试它:

我试着从:

但无法编写该属性的实现。

String应在 中随机生成的,List应具有 Windows 模式路径,例如:

如何进行属性实现?