Я столкнулся со следующей проблемой при написании модульных тестов для моего приложения Scala:
Для моих модульных тестов я не хочу видеть весь объект в выводе (в случае неудачного теста), потому чтоЯ забочусь только о id
.Вот почему я использую org.scalactic.Prettifier
вот так:
case class Node(n: id, doesntMatterString: String)
implicit val prettifier: Prettifier = Prettifier(
{
case n: Node=> "n" + n.id
case ns: Seq[Node] => ns.map("n" + _.id).mkString(",")
}
)
Некоторые тесты могут выводить один Node
, а другие могут выводить Seq[Node]
.
Хотя это обычно работает, я все же получаю следующее предупреждение:
non-variable type argument Node in type pattern Seq[Node] (the underlying of Seq[Node]) is unchecked since it is eliminated by erasure
Я знаю, что здесь стирание типов, но я не могу понять, как написать свойPrettifier
таким образом, чтобы это предупреждение не отображалось.Заранее спасибо.