4

ASSERT_LT (a, b) のようものが $a が $b より小さいことを確認し、そうでない場合は $a と $b の値をエラーメッセージ。これまでに見つけたアサートは、デフォルトでは何も表示せずに実行を停止するだけです。ポインタはありますか?

おまけ: 私はアサーションを多用するコードを (テストだけでなく) 書くのが好きなので、アサーションをすばやく評価できるとよいでしょう。

コンテキスト:このコードをテンプレートとして使用して単体テストを作成しているときに、これに遭遇しました。

4

2 に答える 2

4

Specs2では、 などの多くのマッチャーが定義されていmust be_<=ます。最初は、これらを仕様に統合する必要があると考えていましたが、マッチャー ページの下部に、「独自のテスト フレームワークで再利用できるはずのモジュラー機能」と記載されています。例として、「[traits such as]を再利用して、次のorg.specs2.matcher.MustMatchers ようなものを記述し 1 must be_==(1) て Result を返すことができます」。

ScalaTestにも独自のmatchersがあります。たとえば、one must be < (7).

于 2011-08-23T05:09:50.410 に答える
0
def assert_<[A <% Ordered[A]](a: => A, b: => A) { 
  assert(a < b, "Assertion failed: expected %s < %s" format (a, b)) 
}

scala> assert_<(2, 1)
java.lang.AssertionError: assertion failed: Assertion failed: expected 2 < 1
于 2011-08-24T18:21:47.847 に答える