scalacheck

    1热度

    1回答

    我注意到下面的代码在org.scalacheck.Properties文件: /** Used for specifying properties. Usage: * {{{ * property("myProp") = ... * }}} */ class PropertySpecifier() { def update(propNam

    0热度

    1回答

    之后,从规格升级后2.4.13到3.7.1 "foo" should { "bar" >> prop((i: Int) => i % 50 must be>= 0 ) } 不再编译。它失败 type mismatch; [error] found : org.specs2.specification.core.Fragment [error] required: o

    3热度

    1回答

    我有以下特性: import org.scalacheck.Prop.propBoolean def elementsAreReversed(list: List[Int], reversed: List[Int]): Boolean = if (list.isEmpty) true else { val lastIdx = list.size - 1 list.

    1热度

    1回答

    有没有办法使用ScalaCheck生成伪造的数据库数据?例如,如果我将数据库模式定义抽入ScalaCheck,有没有一种方法可以生成我需要测试每个模型的测试?有没有办法保持参照完整性?

    2热度

    1回答

    我是Scala的新手,我正在编写我的第一个Scalacheck套件。 我在我的节目,基本上看起来像这是良好的形成仅当_1每个元素是严格小于的_2相应元素更高的(List[Double], List[Double])的数据结构。因为它在实践中稍微复杂一些(尽管为了这个MWE的目的我们可以假装它有所有这些),我已经为它写了一个定制的发生器。 然后我加了两个平凡的测试(包括最微不足道的是,1 == 1)

    0热度

    1回答

    我已经创建并使用Lists和适当类型的一些外部Scalacheck生成器,使用Gen.oneOf(List[T])。我认为偶尔有用的是返回一个空值的占位符。目前该列表已填充。我应该怎么做呢?我是否试图将一个空的类型追加到列表的末尾?如果是这样,我该怎么做?如果没有,我还能如何让我的发生器添加一个空值。这看起来很简单,但我现在无法搞清楚。 import org.scalatest.FlatSpec

    5热度

    1回答

    我是相当新的ScalaCheck(和Scala完全),所以这可能是一个相当简单的解决方案 我使用ScalaCheck产生用于AST测试和验证作家/解析器的工作。我有这些文件 AST.scala package com.test object Operator extends Enumeration { val Add, Subtract, Multiply, Divide = Val

    0热度

    2回答

    我在scala中有一个名为A的特征,我正在从它创建一个名为A1的case对象。就像这样: trait A case object A1 extends A 现在,我想创建一个Scalacheck Gen它,所以我创建一个对象GenA,像这样: object GenA { def a: Gen[A] = for { value <- A1 } yield valu

    0热度

    1回答

    我想使用ScalaCheck的forAll与行为功能,但我遇到问题。行为的功能是这样的: def someBehaviour(args: FunArgs) 其中FunArgs基本上是一个联合类型,我想验证的各种可能性。所以,有一个FunArgs1和FunArgs2两个从FunArgs继承但具有不同的部件(例如,一个具有两个Int小号而另一个具有String,一个Long和Int)。我想测试的实

    3热度

    1回答

    如何使用ScalaCheck从一组值(不是生成器)生成一个列表中的n个独特的值(Gen[List[T]])? This post使用Gen[T]*而不是一组值,我似乎无法重写它使其工作。 编辑 在@Jubobs的要求我现在可耻显示我所到目前为止已经试过,揭示在使用ScalaCheck :-) 我绝对新手状态,我只是试图取代gs: Gen[T]重复参数在什么@Eric写道作为解决here一个Set: