scalacheck:生成一个非空字符串
在这样的上下文中,生成非空字符串的最佳方法是什么scalacheck:生成一个非空字符串,scala,scalacheck,Scala,Scalacheck,在这样的上下文中,生成非空字符串的最佳方法是什么 private def createIndexFn() = { for{ someChar <- Gen.alphaString aNumber <- Gen.choose(1,100) //... } yield { MyThing(AnotherType(someChar.toString), Som
private def createIndexFn() = {
for{
someChar <- Gen.alphaString
aNumber <- Gen.choose(1,100)
//...
}
yield {
MyThing(AnotherType(someChar.toString), SomeOtherType(aNumber), aNumber)
}
}
private def createIndexFn()={
为了{
我要找的是:
import org.scalacheck.Arbitrary.arbitrary
arbitrary[String].suchThat(!_.isEmpty)
可以像这样使用
for {
name <- arbitrary[String].suchThat(!_.isEmpty)
age <- Gen.choose(0, 100)
} yield Person(name, age)
用于{
name被接受的答案导致我放弃测试的比例很高,我最终使用了:
import org.scalacheck._
Arbitrary(Gen.nonEmptyListOf[Char](Arbitrary.arbChar.arbitrary)).map(_.mkString))
如果您添加使其编译所需的导入,可能会有更大帮助;)