2009-03-24 12 views
3

JUnitテスト用のカスタムアサーションメソッドを作成することがよくあります。例えば:JUnitアサーション拡張

public void assertArrays(String[] actual, String[] expected) 

JUnitのではデフォルトで来るものよりもアサーションの広い範囲を提供することができる任意のまともなサードパーティのライブラリがあった場合、私は思っていました。

は、私がどのようなライブラリを知らないのJUnit 4

+0

さらに多くのアサーションが必要ですか? – guerda

+0

さて、再利用可能なアサートが役に立つでしょう。下のGoogleの例にはかなりクールなものがあります。 assertContainsRegex、assertContentsAnyOrder(Iterable )、checkEqualsAndHashCodeMethodsなどのようなものです。 – Ben

答えて

0

を使用しています。しかし、あなたは本当にこれを必要としないかもしれません。

JUnitには、ほとんどの値型のJDKに対してassertEqualsが含まれています。独自のクラスの場合は、 にequals()メソッドを単純にオーバーライドし、assertEquals(Object、Object)を使用できます。

これは私が通常自分のクラスで行うことです。うまく動作し、とにかく適切なequals()メソッドが便利です。

1

Googleは、そのAssertsクラスにMoreAssertsという名前を付けます。 Here's one for one particular projectあなたは多くのプロジェクトを検索することができます。ほとんどのプロジェクトは独自のものを持っており、頻繁にオープンソースとなっています。

編集:Androidも非常に優れていますが、ソースが利用可能かどうかはわかりません。今までの周りされてJUnit AddonsでいるassertArrayEquals

+0

これは、私が後にしたことのようなものです。ありがとう。誰か他の人が利用可能であることが分かっている場合は、投稿してください。 – Ben

7

はJUnit4で、この目的のための標準的な方法があります。

+0

ありがとうアンドレイ、私はそのことを忘れていた。 – Ben