Ale*_*sky 5 scala scalatest scalacheck
我想使用ScalaTest的Checkers特性从ScalaTest案例中使用ScalaCheck.
我正在玩的一个简单案例是:
test("can create local date UTC from millis") {
check(localDate.toTimestampUTC.toLocalDateUTC == localDate)
}
Run Code Online (Sandbox Code Playgroud)
我需要创建一个任意的LocalDate,所以我尝试了这个:
object ArbitraryValues {
implicit def abc(): Arbitrary[LocalDate] = Arbitrary(Gen.choose(new LocalDate(0L), new LocalDate(Long.MaxValue)))
}
Run Code Online (Sandbox Code Playgroud)
它没有编译,说,
错误:找不到参数c的隐含值:org.scalacheck.Choose [org.joda.time.LocalDate] implicit val abc:Arbitrary [LocalDate] = Arbitrary(Gen.choose(new LocalDate(0L),new LocalDate(Long) .MaxValue)))
和
错误:未找到:value localDate check(localDate.toTimestampUTC.toLocalDateUTC == localDate)
好的通过反复试验弄清楚了.我的工作代码如下所示:
object ArbitraryValues {
implicit val abc: Arbitrary[LocalDate] = Arbitrary(Gen.choose(0L, Long.MaxValue).map(new LocalDate(_)))
}
test("can create local date UTC from millis -and- vice versa") { check((localDate: LocalDate) =>
localDate.toTimestampUTC.toLocalDateUTC == localDate)
}
Run Code Online (Sandbox Code Playgroud)
我不得不改变我创建Arbitrary [LocalDate]的方式,然后更新我的语法以进行检查.
| 归档时间: |
|
| 查看次数: |
1701 次 |
| 最近记录: |