1. ホーム
  2. java

[解決済み] なぜJUnitはassertNotEqualsメソッドを提供しないのですか?

2022-03-22 13:29:52

質問

JUnit 4 がなぜ assertEquals(foo,bar) であって assertNotEqual(foo,bar) メソッドですか?

を提供します。 assertNotSame (対応する assertSame ) と assertFalse (に対応する)。 assertTrue をわざわざ入れなかったのはおかしいと思います。 assertNotEqual .

ちなみに、JUnit-addonsが私が探しているメソッドを提供していることは知っています。好奇心で聞いてみただけです。

どのように解決するのですか?

より新しい assertThat() これは、あらゆる種類の否定を簡単に記述でき、アサーションが失敗した場合に期待したものと得られたものの説明を自動的に構築するものです。

assertThat(objectUnderTest, is(not(someOtherObject)));
assertThat(objectUnderTest, not(someOtherObject));
assertThat(objectUnderTest, not(equalTo(someOtherObject)));

3つのオプションはすべて等価であり、最も読みやすいものを選んでください。

メソッドの単純な名前を使用する(そしてこの時制構文が機能するようにする)には、これらのインポートが必要です。

import static org.junit.Assert.*;
import static org.hamcrest.CoreMatchers.*;