如何在创建隐式 类 后测试我的 Scala json

How to test my scala json after creating the implicit classes

我正在使用 specs2 并想测试我创建的 json 读数。

我有我的案例 类 并且隐式创建如下:

object ComputerImplicits {
   implicit val partReads = Json.reads[Part]
   implicit val computerReads = Json.reads[Computer]
}

我的 test/resources/computer.json 文件夹中有一个示例 json 文件。

我正在将 JSON 文件加载为这样的字符串:

val jsonString = Source.fromURL(getClass.getResource("/computer.json")).mkString

我在范围内引入了隐式:

import ComputerImplicits._

现在如何处理我的案例 类 并使用 json 字符串并尝试解析它并匹配它以测试它是否正常工作?

我正在使用 播放 json 宏 https://www.playframework.com/documentation/2.8.x/ScalaJsonAutomated

假设您使用播放 JSON:

final class FooSpec extends org.specs2.mutable.Specification {
  "Json" should {
    "be ok" in {
      Json.parse(jsonString).validate[YourType] must_=== JsSuccess(expectedVal)
    }
  }
}

通常在其伴生对象中(而不是在共享对象中)声明与类型相关的隐式。