Извлечение json4s со значениями по умолчанию - PullRequest
0 голосов
/ 25 апреля 2019

Вот мои тесты

case class WithDefaultValueHolder(values: Seq[WithDefaultValue])
case class WithDefaultValue(name: String, gender: String = "male")

it("default with valid json"){
  val res = WithDefaultValueHolder(Seq(WithDefaultValue("Bob")))
  parse("""{"values":[{"name":"Bob","gender":"male"}]}""").extract[WithDefaultValueHolder](
    DefaultFormats, Manifest.classType(classOf[WithDefaultValueHolder])) shouldBe (res)
}

Ниже тест также пройден. Он считает искаженный JSON допустимым JSON для значений по умолчанию.Зачем?Как ограничить это поведение.Как провалиться ниже контрольного примера?

it("default with invalid json"){
  val res = WithDefaultValueHolder(Seq(WithDefaultValue("Bob")))
  parse("""{"values":[{"name":"Bob","xyz":"abc"}]}""").extract[WithDefaultValueHolder](
    DefaultFormats, Manifest.classType(classOf[WithDefaultValueHolder])) shouldBe (res)
}
...