Как использовать Specs2 со Scalacheck для автоматизации тестирования аргументов String?

Переписанная среда тестирования specs2 для Scala объединяет автоматическое тестирование с scalacheck . Примеры, приведенные в документации specs2 о том, как использовать scalacheck вместе со specs2, либо используют целые числа , либо более сложные пользовательские генераторы, как в примере json Эрика .

Пытаясь получить немного работает менее сложный пример, я борюсь, потому что не знаю, как использовать specs2 и scalacheck, если я хочу сгенерировать аргументы String вместо Integer. Как бы выглядел этот пример Quickstart


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 , если бы он был написан как спецификация Specs2 с использованием интеграции scalacheck?

9
задан Eric 9 February 2012 в 22:01
поделиться