问题标签 [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 投票
1 回答
312 浏览

scala - 具有参数类型的 Scalacheck/Scalatest

我想用 scalatest 和 scalacheck 测试一个通用堆栈。到目前为止,我有这个:

然而,这显然不能编译。如何将泛型类型指定为测试的一部分?

0 投票
2 回答
4609 浏览

scalacheck - Scalacheck 生成长度相同的 Gen.alphastr

我需要生成相同长度的字符串。我不知道怎么做。非常感谢

0 投票
1 回答
329 浏览

android - 使用 Sbt 进行测试 - 未找到测试

我正在尝试使用 Scalaid 和一些测试平台(我尝试过 ScalaTest 和 ScalaCheck)为 Android 构建一个项目,但是当我输入 sbt“test”或“testOnly *”时 - 它的行为就像我没有任何测试我的项目。更奇怪的是,如果我尝试在 StringSpecification.scala 中添加一些乱码 - 它仍然可以编译,提示我这个 scala 文件不包含在测试版本中。

这是我的 build.sbt 和我的测试: https ://gist.github.com/archeg/e5618c52f5661f494418

我的项目结构是下一个:

我的源代码和测试放在非标准文件夹中,但我在 build.sbt 中反映了这一点

我刚刚开始使用 Scaloid 和 Sbt,所以这可能是我忘记或做错了一些简单的事情。

如果这很重要,我也尝试在 IntelliJ Idea 下运行它,但只要 IntelliJ Idea 可以检查我正在编写的语法,只在 sbt 控制台上运行就可以了。


终于做到了!我不知道它为什么会起作用,所以如果有人可以向我解释,我会将其视为答案:

我所做的是创建文件夹tests(以 s 结尾),将其放在wlan-client. 然后我根据这个线程输入:debugIncludesTests in Android := falsehttps://github.com/pfn/android-sdk-plugin/issues/45并且我还从中删除了我的目录映射build.sbtbuild.sbt

我理解为什么我需要 debugIncludesTests 变量,但我不知道为什么tests文件夹可以工作 - 它不遵循约定,为什么其他文件夹不工作?

0 投票
1 回答
610 浏览

scala - 无法将 ScalaCheck 与 Scala IDE for Eclipse 一起使用

我正在尝试按照本指南http://lamp.epfl.ch/files/content/sites/lamp/files/teaching/progfun/ScalacheckTutorial.html 中的说明在 Scala IDE 中使用 ScalaCheck。

但是,当我使用以下代码创建第一个文件 StringSpecification.scala 时:

我在 Scala IDE 中收到以下错误:

在类文件“CmdLineParser.class”中遇到对 scala.util.parsing 的错误符号引用。无法访问包 scala.util 中的术语解析。当前类路径可能缺少 scala.util.parsing 的定义,或者 CmdLineParser.class 可能已针对与当前类路径中找到的版本不兼容的版本进行编译。(注意:似乎缺少 scala-parser-combinators 模块;尝试添加对“org.scala-lang.modules”的依赖项:“scala-parser-combinators”。请参阅 http://docs.scala-lang。 org/overviews/core/scala-2.11.html了解更多信息。)

Scala 编译器中的错误:在类文件“CmdLineParser.class”中遇到对 scala.util.parsing.combinator 的错误符号引用。无法访问值 scala.util.parsing 中的术语组合器。当前类路径可能缺少 scala.util.parsing.combinator 的定义,或者 CmdLineParser.class 可能已针对与当前类路径中找到的版本不兼容的版本进行编译。(注意:似乎缺少 scala-parser-combinators 模块;尝试添加对“org.scala-lang.modules”的依赖项:“scala-parser-combinators”。请参阅 http://docs.scala-lang。 org/overviews/core/scala-2.11.html了解更多信息。)

SBT builder 在编译时崩溃。错误消息是“在类文件“CmdLineParser.class”中遇到的对 scala.util.parsing.combinator 的错误符号引用。无法访问值 scala.util.parsing 中的术语组合器。当前类路径可能缺少 scala.util.parsing.combinator 的定义,或者 CmdLineParser.class 可能已针对与当前类路径中找到的版本不兼容的版本进行编译。(注意:似乎缺少 scala-parser-combinators 模块;尝试添加对“org.scala-lang.modules”的依赖项:“scala-parser-combinators”。请参阅 http://docs.scala-lang。 org/overviews/core/scala-2.11.html了解更多信息。)'。检查错误日志以获取详细信息。

我正在使用最新稳定版本的 Scla IDE(用于 Eclipse)(3.0.4)、ScalaCheck(2.11-1.11.6)和 Scala(2.11.2),并且我在 Windows 上运行。

什么可能导致此错误?

0 投票
1 回答
454 浏览

scala - 使用 ScalaCheck 生成案例类时如何避免样板文件?

我曾经使用类似下面的习语来使用 ScalaCheck 生成案例类:

我们最近将 ScalaCheck 升级到 1.11,删除了这些mapN方法。我真的希望能够避免必须为每个字段的生成器分配中间名称,并且这些mapN方法提供了最简单的方法来做到这一点。现在,最好的语法是:

这还不错(因为结构将包含少量的构造函数参数),但我真的想明确一点,这里没有什么特别的,我只是为每个参数指定生成器,而没有读者代码必须通读以确认。

简而言之,我想要类似于应用语法的东西。不幸的是,不能选择使用 scalaz、shapeless 或宏。我意识到最后一句话几乎让我的问题是“我怎么能做 X 没有访问让我做 X 的事情”,但我希望有人会有一个好主意。

0 投票
1 回答
1796 浏览

scala - 使用 ScalaTest + ScalaCheck 检查意外异常

我正在尝试使用ScalaTest编写一个基本上声明“它不应该抛出异常,或者抛出可能的异常列表之一”的属性,GeneratorDrivenPropertyChecks而它又使用scalatest。问题是我无法将noException与逻辑或结合起来,所以我能想到的最好的就是这个丑陋的测试:

相反,我希望看到的内容更像

0 投票
0 回答
717 浏览

scala - BigDecimals 中的 MathContexts - ScalaCheck 生成器创建无法序列化然后反序列化的 BigDecimals。如何正确使用 MathContexts?

在 Scalacheck 中发现了一个问题,它arbitrary[BigDecimal]生成BigDecimal无法转换为Strings 然后再转换为 sBigDecimal的 s,我正在尝试与创建者一起寻找解决方案,但我不确定MathContexts 是如何来的玩。

原始生成器如下所示:

问题在于BigDecimal使用的构造函数反转了scale参数的符号,从而使Int.MinValue变成scale大于 2^32 -1。

修复的核心是通过 中的位数增加下限unscaledVal,但我只是想到了一种方法来做到这一点MathContext.UNLIMITED。如果我们这样做,我担心我们会错过生成器的鲁棒性:

那么,如果我们想继续使用其他MathContext的,我们必须做些什么来确保我们正确地使用它们呢?

0 投票
1 回答
382 浏览

scala - 如何使用 scalacheck 轻松生成多头?

我试过了

所以它确实会为 long 生成一个 null,但是我NullPointerException很可能是因为Long无法持有null使用任意 long 生成器的正确方法,其中包括nulls

0 投票
1 回答
2956 浏览

scala - 为什么我的 Scalacheck/Scalatest PropertyCheckConfig 被忽略?

我有一个包含很多 Scalacheck 生成器的项目,它正在获取 GeneratorDrivenPropertyCheckFailedException 并显示消息“在 0 次成功的属性评估后放弃。2 次评估被丢弃。”

我想让它尝试多次评估它,比如 500(默认值)就可以了,但我没有看到我的配置覆盖实际上被使用了。

我将此代码添加到测试类中,但仍然收到完全相同的消息。我试过'sbt clean'只是为了确保那里没有发生奇怪的事情。

为什么我的 Scalacheck/Scalatest PropertyCheckConfig 被忽略?

我将 Scalatest 2.2.1 与 Scalacheck 1.12.1 与 Scala 2.10.4 一起使用

0 投票
2 回答
153 浏览

scala - 升级后无法使用 specs2 编译 ScalaCheck

我曾经使用:

效果很好,然后我将依赖项升级到我认为是最新的:

根据http://etorreborre.github.io/specs2/应该是正确的

但现在ScalaCheck不被承认为成员org.specs2

我已经完成sbt clean并被常春藤缓存删除rm -r ~/.ivy2/cache