![](/img/trans.png)
[英]Extracting nested serialized json with json4s into case classes in Scala
[英]How to test if the case classes I have created for the parser are correct using json4s libraries in scala?
我有一个巨大的json对象,我需要解析它,然后编写一些测试以查看一切是否按预期进行。
case class User(id: Identification, age:Int, name: String ...)
case class Identification(id: Int, hash: String ....)
... a lot more classes
现在我正在尝试编写测试
val json = parse(Source.fromFile(/path).getLines.mkString("\n"))
import org.json4s.DefaultFormats
implicit val formats = DefaultFormats
所以我的问题是如何测试案例类是否正常? 我以为也许我应该尝试提取前。 用户,然后逐个参数检查参数是否正确,但是我认为这不是一个好方法,因为创建json的人不是我,所以我对内容不感兴趣。
谢谢
这就是我发现使用JSON和case类进行测试的最低限度。
这三件事应该经常测试
val example = MyCaseClass()
read[MyCaseClass](write(example)) should Equal example
检查一个类是否可以转换为JSON,回读并仍然具有相同的值。 这个中断比人们想象的要频繁。
JSON String
-> CaseClasses
val exampleAsJSON : String
val exampleAsCaseClass : MyCaseClass
read(exampleAsJSON) shouldEqual exampleAsCaseClass
检查JSON是否仍然可以反序列化。
CaseClasses
> JSON String
val exampleAsJSON : String
val exampleAsCaseClass : MyCaseClass
write(exampleAsCaseClass) shouldEqual exampleAsJSON
检查String / JSON表示形式是否保持稳定。 在这里很难保持数据最新,并且经常会有一些不好的空格更改导致错误警报。
是否存在optional
参数? 如果是,则应使用和不使用可选参数来进行所有测试。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.