カスタムメッセージを印刷するためにspecs2を取得できないようです。可変仕様のカスタムメッセージを使用するにはどうすればよいですか?
import org.junit.runner.RunWith
import org.specs2.mutable.Specification
import org.specs2.runner.JUnitRunner
@RunWith(classOf[JUnitRunner])
class MessageSpecs extends Specification {
"This" should {
"fail" in {
true.must(beFalse).setMessage("this should PRINT")
//true.must(beFalse.setMessage("this should PRINT")) // or maybe this? no.
//true.must(beFalse).updateMessage(_ => "this should PRINT") // not this either
}
}
}
私は単純にデフォルト値のエラーメッセージ "the value is true"を取得します。これは仕様です.2 3.8.5 JUnitRunnerをmaven経由で使用しています。私はまだsbtプロジェクトでこれを試していません。私が見つけることができるドキュメントは、これがうまくいくはずであることを示唆している
---編集---
ソートの回避策:true.aka("this should PRINT").must(beFalse) // works
ので、複雑な失敗を記述するために実際に使用されるが、少なくとも、それは印刷したときに醜いビットを出力します障害をより簡単に理解するために必要な追加コンテキストを追加できます。
ありがとう@Eric。私は確かに私がこれを上記に減らすようになったbeFalseよりも複雑なマッチャーでこれを見ました。私がそれらをもう一度見たら、私はここにメモを入れます。私は仕様を再構成して以来、より信頼できるように「aka」を使用しています。 –
Scott、私は答えを更新しました。 – Eric