у меня после этого согласовань:Specs2 - Игнорирование свойства в согласовани с будущим набором результатов
def haveBodyWith[T: TypeTag: Unmarshaller](content: T)(implicit await: Duration): Matcher[Future[HttpResponse]] = {
===(content) ^^ { (f: Future[HttpResponse]) => { Await.result(f, await).entity.as[T].right.get } }
}
извлечь результат из HttpResponse, а затем сравнить его с ожидаемым содержанием. До сих пор этот помощник работал отлично. Теперь у меня есть конкретный случай использования, когда содержимое ответа представляет собой последовательность классов case, и я хочу игнорировать одно из свойств класса case. Я не могу получить эту работу:
def haveBodyWith(content: Foo): Matcher[HttpResponse] = {
===(content) ^^ { (_: HttpResponse).entity.as[Foo].right.get.copy(name = "") }
}
case class Foo(id: Int, name: String)
Если бы я был только содержание без будущего для сравнения, я сделал это таким образом (возможно, что-то подобное с послед тематических классов), но в будущем сделать это немного сложнее. Как вы думаете?
Спасибо!