Переписанная specs2 среда тестирования для Scala объединяет автоматизированное тестирование с scalacheck . В примерах, приведенных в документации для specs2, о том, как использовать scalacheck вместе с specs2, либо используются целые числа , либо более сложные пользовательские генераторы, как в примере json Эрика .
Пытаясь заставить работать чуть менее сложный пример, я изо всех сил, потому что я не знаю, как можно использовать specs2 и scalacheck, если я хочу генерировать аргументы String вместо Integer. Как бы этот пример Quickstart
<code>
import org.scalacheck._</p>
<p>object StringSpecification extends Properties("String") {
property("startsWith") = Prop.forAll((a: String, b: String)
=> (a+b).startsWith(a))</p>
<p>property("endsWith") = Prop.forAll((a: String, b: String)
=> (a+b).endsWith(b))</p>
<p>// Is this really always true?
property("concat") = Prop.forAll((a: String, b: String) =>
(a+b).length > a.length && (a+b).length > b.length
)</p>
<p>property("substring") = Prop.forAll((a: String, b: String) =>
(a+b).substring(a.length) == b
)</p>
<p>property("substring") = Prop.forAll((a: String, b: String, c: String) =>
(a+b+c).substring(a.length, a.length+b.length) == b
)
}
взято с домашней страницы scalacheck , если она была написана как спецификация Specs2 с использованием интеграции scalacheck?