问题标签 [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.
scala - 使用 Scalacheck 生成伪随机测试
我想用基于属性的测试风格来测试我的代码。
我有一些生成器,它总是生成Some(data)
,数据永远不会被过滤掉。我想运行 100 个测试,在运行中使用相同的数据集。现在,我正在这样做,但它不是非常惯用的代码:
这个类PropSpec
有它自己的方法runAll
,在我看来我应该想用它来运行这些属性检查。
scala - Scalacheck 任意与泛型
我正在尝试生成一个任意列表,如下所示:
知道我在这里做错了什么吗?使用具体类型无需我定义隐式参数即可。
这是使用 scala 2.9.2 和 scalacheck 1.10.0
提前致谢。
scala - Specs2 和 scalacheck - 必须通过问题
我收到not found: value pass
以下代码片段的错误。
我是否错过了任何导入或此代码对specs2 无效?
scalacheck - 结合 scalaxb 和 scalacheck
我想知道如何在由 scalaxb 生成的类型上使用 scalacheck,这些类型源自像这样的复杂 xsd:
http://wiki.xmldation.com/@api/deki/files/379/=pain.001.001.03.xsd
实际文件类似于付款,我想以一种或其他方式限制测试数据(帐户所有者/号码、金额、国家/地区)。
要测试的实际组件是:xml 解析器检查语法并生成错误消息,xml 解析器将文档解析为类似记录的数据结构,xml 打印机编写此类文档。
可行吗?
scala - ScalaCheck,JUnit 在默认生成器中以 NoSuchMethod-exception 结尾
我无法从 Maven 中运行我的 scalachecks。例如下面的小片段
最终转储以下堆栈:
我敢打赌这只是一件很小的事情要解决,但我找不到使用 junit-runner 在 scalatest 中运行 scala-check 的完整示例。
谢谢并恭祝安康
马库斯
scala - 枚举的任意元组
我有一个枚举RankAndFile
,其中有 64 个值代表棋盘上的方格。
我想获得一个 ScalaCheckArbitrary[(RankAndFile, RankAndFile)]
但我不知道如何。
到目前为止,我有:
但是编译器在第二条语句中抱怨它could not find implicit value for parameter a1: org.scalacheck.Arbitrary[RankAndFile.RankAndFile]
。当然这是因为类型arbitraryRankAndFile
是Arbitrary[Gen[RankAndFile]]
。
我应该有什么?
scala - 在 ScalaCheck 中生成 Option[T]
我试图在 ScalaCheck 中生成可选参数,但没有成功。
似乎没有直接的机制。Gen.containerOf[Option, Thing](thingGenerator)
失败,因为它找不到隐含的Buildable[Thing, Option]
.
我试过了
但这不起作用,因为listOfN
生成的列表总是长度为 N。结果我总是得到一个Some[Thing]
. 同样,listOf1
不起作用,因为(a)它不会产生空列表,而且(b)它效率低下,因为我无法设置元素数量的最大限制。
如何生成Option[Thing]
包含无的内容?
编辑:我找到了一个解决方案,但它并不简洁。还有比这更好的方法吗?
编辑 2:我将此概括为
所以我不必多写一次。但肯定这已经在图书馆里了,我只是错过了吗?
scala - scalacheck 任意隐式和递归生成器
我看到 scalacheck 似乎是一个非常明显的错误,如果它真的存在,我看不到人们如何将它用于递归数据结构。
该程序StackOverflowError
在 scalacheck 接管之前失败,同时构造Arbitrary
值。请注意,s 的Tree
类型和生成器Tree
是从这个 scalacheck 教程中逐字获取的。
奇怪的是,不应该影响任何事情的更改似乎会改变程序以使其正常工作。例如,如果您将 的定义更改trees
为此,它会毫无问题地通过:
更奇怪的是,如果您更改二叉树结构,以便将值存储在Node
s 上而不是Leaf
s 上,并将leafs
andnodes
定义更改为:
然后它也可以正常工作。
这里发生了什么?为什么构造Arbitrary
值最初会导致堆栈溢出?为什么 scalacheck 生成器似乎对不应该影响生成器控制流的微小变化如此敏感?
为什么我上面的表达与oneOf(0, 1)
原来的表达不完全一样oneOf(leafs, nodes)
?
java - 如何使用 ScalaCheck 测试 Java 程序?
我在ScalaCheck 用户指南中读到它是一个测试 Scala 和Java程序的工具。
我想知道,这只是营销,还是用它测试纯 Java 代码库是一个合理的想法?如果是这样,将它与 Java 项目集成的最佳方式是什么?
scala - scalacheck 生成器产生一个空样本
怎么了?为什么人是空的?
它因 NullPointerException 而失败。
但是,如果我val john = Person("john")
在property("gen1") = ...
.
为什么??
更新
如果我声明val john
as ,则该示例有效lazy
。所以,似乎在lazy val arbPerson
之前执行val john
,但如果是这样,scala 编译器应该会失败,说john
没有定义。john
是 a val
,也不是 a var
,所以要么声明并实例化它,要么不声明。
对此有任何想法吗?
ps:斯卡拉2.10.3