ScalaTest で、任意のプロパティに対して、それらのプロパティの値に対して単純な等値比較以上のことを行うアサーションを表現することは可能ですか?
たとえば、次の代わりに:
val list = List(1,2,3,4,5)
list.length should be < 4 // Fails with the unhelpful error message "5 is not less than 4"
case class Example(field: String)
val obj = Example("TEST")
obj.field should be allLowerCase // Given "allLowerCase", this fails without any information about obj.
次のようなことをしたいと思います。
val list = List(1,2,3,4,5)
list should have length < 4 // Fails with an error message containing the list
obj should have ('field (allLowerCase)) // Fails with an error message containing obj.
目標は、マッチャーが失敗した場合に、失敗したプロパティを持つオブジェクトに関する関連コンテキストをエラー メッセージに表示することです。