首页 > 解决方案 > Json4s杰克逊读写案例类不相等

问题描述

这怎么可能是先前序列化然后反序列化的案例类不相等:

import org.json4s.DefaultFormats
import org.json4s.jackson.Serialization.{write, read}
implicit val formats: DefaultFormats = DefaultFormats

case class MyCaseTestClass(two: String, num: Int)
read[MyCaseTestClass](write(MyCaseTestClass("bla", 123))) shouldBe MyCaseTestClass("bla", 123)

运行这个我得到:

MyCaseTestClass(bla,123) was not equal to MyCaseTestClass(bla,123)
ScalaTestFailureLocation: ...
Expected :MyCaseTestClass(bla,123)
Actual   :MyCaseTestClass(bla,123)

标签: jsonscalajacksonjson4s

解决方案


好的,经过一段时间的尝试,我发现在单元测试类中定义一个案例类,该类使用带有 Matchers 的 FlatSpec 丰富,这会以某种方式导致问题。

如果在外部定义类,例如在单独的文件/对象中,则不会发生这种情况。


推荐阅读