Есть немного проблем с
(jsonResponse \ "address").get mustNot empty
Тип (jsonResponse \ "address")
равен JsLookupResult
, который имеет метод isEmpty()
, следовательно, проверка на пустоту кажется разумным попробовать
(jsonResponse \ "address") mustNot be (empty)
Однако это не работает, поскольку ключевое слово DSL empty
работает со следующими типами
scala.collection.GenTraversable
String
Array
scala.Option
java.util.Collection
java.util.Map
- произвольный объект с
isEmpty()
метод, который возвращает Boolean
- произвольный объект с
parameterless
isEmpty метод, который возвращает Boolean
, где " произвольный объект " они действительно означают произвольный ссылка объект AnyRef
implicit def emptinessOfAnyRefWithIsEmptyMethod[T <: AnyRef { def isEmpty(): Boolean}]: Emptiness[T]
и JsLookupResult
является не подтипом AnyRef
sealed trait JsLookupResult extends Any with JsReadable
Следовательно, поскольку ограничение T <: AnyRef { def isEmpty(): Boolean}
не выполнено, мы не можем использовать DSL с хорошей пустотой.
В качестве альтернативы должно работать следующее
(jsonResponse \ "address").isEmpty mustBe false
(jsonResponse \ "address").isDefined mustBe true