0
我希望为shipmentNumberValidator
方法编写单元测试,其中Reads
是play.api.libs.json.Reads
。我该怎么做?如何为Play Framework JSON阅读器编写单元测试
object Validator {
def shipmentNumberValidator(): Reads[String] =
Reads.filter(ValidationError(ErrorConstants.BAD_SHIPMENT_NUMBER))(_.matches(BarcodePatterns.ShipmentNumber))
}
单元测试应该传递给它一个装运编号,并且该方法返回任一成功装运数或错误消息,如果装运编号格式不匹配。我不知道如何将值传递给此方法。
的方法通常是在配套使用的对象隐读,如:
object ShipmentOrder {
implicit val shipmentOrderReads: Reads[ShipmentOrder] = (
(JsPath \ "id").read[String](Validator.missingFieldValidator("id") keepAnd Validator.shipmentNumberValidator())(ShipmentOrder.apply _)
}
嗯,有没有方法来测试'shipmentNumberValidator'而不使用ShipmentOrder?原因是验证者不仅被ShipmentOrder使用,还有几个不同类使用的验证器。 – Robo
不明确。每个类型'T'只有一个'Reads'。 – cchantep