[英]Test for Json transformers in Play framework 2.x
我用验证编写了三个简单的json转换器
val validateDefaultReminderMethod = Reads.pattern("email|sms|popup".r, "error.reminder.method (pattern: email|sms|popup)")
val validateDefaultReminderMinutes = Reads.min(0) keepAnd Reads.max(40320)
val validateDefaultReminder = (
(__ \ "method").json.pickBranch(Reads.of[JsString] keepAnd validateDefaultReminderMethod) and
(__ \ "minutes").json.pickBranch(Reads.of[JsNumber] keepAnd validateDefaultReminderMinutes)
).reduce
对于单元测试的前两个变压器,我可以使用简单的测试,例如
"Default Reminder Method validator" must {
"is successful for email value" in {
JsString("email").validate(validateDefaultReminderMethod) must be (JsSuccess("email"))
}
...
}
但是我不明白,我该如何测试第三个变压器。 它由前两个组成,但是如何检查呢? 因此,我必须为第三台变压器编写相同的测试吗?
关于什么:
case class MyClass(method: String, minutes:Int)
"validateDefaultReminder" must {
"is successful for email value and minutes" in {
val json = Json.parse("""{ "email: "a@gmail.com", "minutes": 45}""")
json.validate[MyClass](validateDefaultReminder) must be JsSuccess
}
...
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.