【发布时间】:2011-09-09 22:10:59
【问题描述】:
为 Scala 重写的 specs2 测试框架将自动化测试与 scalacheck 集成在一起。 specs2 文档中给出的示例是关于如何将 scalacheck 与 specs2 一起使用 use integers 或更复杂的自定义生成器,如 eric's json example。
虽然试图让一个稍微不那么复杂的示例工作,但我很挣扎,因为如果我想生成字符串参数而不是整数,我不知道如何使用 specs2 和 scalacheck。这个快速入门示例如何
import org.scalacheck._
object StringSpecification extends Properties("String") {
property("startsWith") = Prop.forAll((a: String, b: String)
=> (a+b).startsWith(a))
property("endsWith") = Prop.forAll((a: String, b: String)
=> (a+b).endsWith(b))
// Is this really always true?
property("concat") = Prop.forAll((a: String, b: String) =>
(a+b).length > a.length && (a+b).length > b.length
)
property("substring") = Prop.forAll((a: String, b: String) =>
(a+b).substring(a.length) == b
)
property("substring") = Prop.forAll((a: String, b: String, c: String) =>
(a+b+c).substring(a.length, a.length+b.length) == b
)
}
从scalacheck homepage 看,如果它是使用 scalacheck 集成编写为 Specs2 规范?
【问题讨论】:
标签: scala specs scalacheck specs2