我有这个代码来检查列表是否为空,如果它为空,它将有 ValidationError("should not empty")
case class Foo(t: List[String], r: String)
object Foo {
implicit val fooReads: Reads[Foo] = (
(JsPath \ "t").read[List[String]]
.filter(ValidationError("should not empty"))(_.nonEmpty) and
(JsPath \ "r").read[String]
)
}
但是,我不知道如何在测试中获得验证错误。
val json = """
|{
| "t": [],
| "r": "123"
|}
""".stripMargin
val result: JsResult[Foo] = json.validate[Foo]
result.isError shouldBe true
result.asEither.left.get.head._2.head.message shouldBe "should not empty"
代码有点难看,有没有更好的方法从 JsResult 测试 ValidationError ?
提前谢谢了