ScalaTest 3.1.0 предоставляет улучшенный префиксатор"из коробки", например,
import com.softwaremill.diffx.scalatest.DiffMatcher
import org.scalatest.flatspec.AnyFlatSpec
import org.scalatest.matchers.should.Matchers
class CaseClassPrettyDiffSpec extends AnyFlatSpec with Matchers {
case class User(name: String, age: Int)
"User" should "be Picard" in {
val expected = User("Picard", 67)
val actual = User("Worf", 30)
actual should be (expected)
}
}
печатает Analysis
раздел, который включает имена полей, но без подсветки и форматирования
Чтобы получить более качественное выделение и форматирование, мы можем попробовать diffx-scalatest , например,
class CaseClassPrettyDiffSpec extends AnyFlatSpec with Matchers with DiffMatcher {
case class User(name: String, age: Int)
"User" should "be Picard" in {
val expected = User("Picard", 67)
val actual = User("Worf", 30)
actual should matchTo(expected)
}
}
отпечатков