问题标签 [scalacheck]

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 投票
0 回答
385 浏览

scala - 使用 Scalacheck 生成伪随机测试

我想用基于属性的测试风格来测试我的代码。
我有一些生成器,它总是生成Some(data),数据永远不会被过滤掉。我想运行 100 个测试,在运行中使用相同的数据集。现在,我正在这样做,但它不是非常惯用的代码:

这个类PropSpec有它自己的方法runAll,在我看来我应该想用它来运行这些属性检查。

0 投票
2 回答
1492 浏览

scala - Scalacheck 任意与泛型

我正在尝试生成一个任意列表,如下所示:

知道我在这里做错了什么吗?使用具体类型无需我定义隐式参数即可。

这是使用 scala 2.9.2 和 scalacheck 1.10.0

提前致谢。

0 投票
1 回答
955 浏览

scala - Specs2 和 scalacheck - 必须通过问题

我收到not found: value pass以下代码片段的错误。
我是否错过了任何导入或此代码对specs2 无效

0 投票
1 回答
245 浏览

scalacheck - 结合 scalaxb 和 scalacheck

我想知道如何在由 scalaxb 生成的类型上使用 scalacheck,这些类型源自像这样的复杂 xsd:

http://wiki.xmldation.com/@api/deki/files/379/=pain.001.001.03.xsd

实际文件类似于付款,我想以一种或其他方式限制测试数据(帐户所有者/号码、金额、国家/地区)。

要测试的实际组件是:xml 解析器检查语法并生成错误消息,xml 解析器将文档解析为类似记录的数据结构,xml 打印机编写此类文档。

可行吗?

0 投票
1 回答
678 浏览

scala - ScalaCheck,JUnit 在默认生成器中以 NoSuchMethod-exception 结尾

我无法从 Maven 中运行我的 scalachecks。例如下面的小片段

最终转储以下堆栈:

我敢打赌这只是一件很小的事情要解决,但我找不到使用 junit-runner 在 scalatest 中运行 scala-check 的完整示例。

谢谢并恭祝安康

马库斯

0 投票
1 回答
1040 浏览

scala - 枚举的任意元组

我有一个枚举RankAndFile,其中有 64 个值代表棋盘上的方格。

我想获得一个 ScalaCheckArbitrary[(RankAndFile, RankAndFile)]但我不知道如何。

到目前为止,我有:

但是编译器在第二条语句中抱怨它could not find implicit value for parameter a1: org.scalacheck.Arbitrary[RankAndFile.RankAndFile]。当然这是因为类型arbitraryRankAndFileArbitrary[Gen[RankAndFile]]

我应该有什么?

0 投票
2 回答
3375 浏览

scala - 在 ScalaCheck 中生成 Option[T]

我试图在 ScalaCheck 中生成可选参数,但没有成功。

似乎没有直接的机制。Gen.containerOf[Option, Thing](thingGenerator)失败,因为它找不到隐含的Buildable[Thing, Option].

我试过了

但这不起作用,因为listOfN生成的列表总是长度为 N。结果我总是得到一个Some[Thing]. 同样,listOf1不起作用,因为(a)它不会产生空列表,而且(b)它效率低下,因为我无法设置元素数量的最大限制。

如何生成Option[Thing]包含无的内容?

编辑:我找到了一个解决方案,但它并不简洁。还有比这更好的方法吗?

编辑 2:我将此概括为

所以我不必多写一次。但肯定这已经在图书馆里了,我只是错过了吗?

0 投票
3 回答
4501 浏览

scala - scalacheck 任意隐式和递归生成器

我看到 scalacheck 似乎是一个非常明显的错误,如果它真的存在,我看不到人们如何将它用于递归数据结构。

该程序StackOverflowError在 scalacheck 接管之前失败,同时构造Arbitrary值。请注意,s 的Tree类型和生成器Tree是从这个 scalacheck 教程中逐字获取的。

奇怪的是,不应该影响任何事情的更改似乎会改变程序以使其正常工作。例如,如果您将 的定义更改trees为此,它会毫无问题地通过:

更奇怪的是,如果您更改二叉树结构,以便将值存储在Nodes 上而不是Leafs 上,并将leafsandnodes定义更改为:

然后它也可以正常工作。

这里发生了什么?为什么构造Arbitrary值最初会导致堆栈溢出?为什么 scalacheck 生成器似乎对不应该影响生成器控制流的微小变化如此敏感?

为什么我上面的表达与oneOf(0, 1)原来的表达不完全一样oneOf(leafs, nodes)

0 投票
3 回答
2358 浏览

java - 如何使用 ScalaCheck 测试 Java 程序?

我在ScalaCheck 用户指南中读到它是一个测试 Scala 和Java程序的工具。

我想知道,这只是营销,还是用它测试纯 Java 代码库是一个合理的想法?如果是这样,将它与 Java 项目集成的最佳方式是什么?

0 投票
1 回答
822 浏览

scala - scalacheck 生成器产生一个空样本

怎么了?为什么人是空的?

它因 NullPointerException 而失败。

但是,如果我val john = Person("john")property("gen1") = ....

为什么??

更新

如果我声明val johnas ,则该示例有效lazy。所以,似乎在lazy val arbPerson之前执行val john,但如果是这样,scala 编译器应该会失败,说john没有定义。john是 a val,也不是 a var,所以要么声明并实例化它,要么不声明。

对此有任何想法吗?

ps:斯卡拉2.10.3