在应用程序中直接使用ScalaCheck是否可行且适当?

时间:2014-06-24 10:14:46

标签: scala scalacheck

我想知道在应用程序中直接使用ScalaCheck是否可行和适当,而不是仅在测试中使用它。我没有仔细阅读。但在我看来,Gen的{​​{1}}是doApply(),因此这些生成器无法直接用于获取基础值。

1 个答案:

答案 0 :(得分:2)

是的,的确可以。以下是ScalaCheck书中用于创建类似密码的生成器以及如何使用它的示例:

import org.scalacheck.Gen

val genString = for {
             c1 <- Gen.numChar
             c2 <- Gen.alphaUpperChar
             c3 <- Gen.alphaLowerChar
             c4 <- Gen.alphaChar
             c5 <- Gen.alphaNumChar
           } yield List(c1,c2,c3,c4,c5).mkString

scala> genString.sample
res0: Option[String] = Some(7Okpt)

scala> genString.sample
res1: Option[String] = Some(6WwTg)