【发布时间】:2013-01-05 12:30:13
【问题描述】:
我对 Scala/Play 2.0 和 Specs 有一个简单的问题。
这是我的测试
"Server" should {
"return a valid item with appropriate content type or a 404" in {
val Some(result) = routeAndCall(FakeRequest(GET, "/item/1"))
status(result) match {
case 200 => contentType(result) must beSome("application/json")
case 404 => true
case _ => throw new Exception("The Item server did not return either a 200 application/json or a 404")
}
//false --> It only compiles if I add this line!
}
}
}
由于以下原因无法编译:
No implicit view available from Any => org.specs2.execute.Result.
[error] "return a valid item with appropriate content type or a 404" in {
[error] ^
[error] one error found
所以我认为状态(结果)匹配正在评估为 Any 因此错误。鉴于我的默认情况下返回值为 false,我应该如何指定其结果类型为 Result?
【问题讨论】:
-
您可以在末尾添加
must not(throwA[MyException])。我会坚持一些自定义异常,而不是一般异常。 -
我在最后添加时遇到问题,我尝试在匹配后添加它,即 -> status(result)match{...} 不能(throwA[Exception]),现在我得到:' ;'预期但找到标识符。 [错误] } 不能 (throwA[Exception])
标签: scala playframework-2.0 specs2