1. ホーム
  2. java

[解決済み] jUnitのCollectionAssert?

2023-04-26 16:25:23

質問

NUnitと並列のjUnitはありますか? CollectionAssert ?

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

JUnit 4.4 を使用すると assertThat() と一緒に ハムクレスト のコード(JUnitと一緒に出荷されているので、余計な .jar を使用することで、コレクションを操作するものを含む、複雑な自己記述的アサートを作成することができます。

import static org.junit.Assert.assertThat;
import static org.junit.matchers.JUnitMatchers.*;
import static org.hamcrest.CoreMatchers.*;

List<String> l = Arrays.asList("foo", "bar");
assertThat(l, hasItems("foo", "bar"));
assertThat(l, not(hasItem((String) null)));
assertThat(l, not(hasItems("bar", "quux")));
// check if two objects are equal with assertThat()

// the following three lines of code check the same thing.
// the first one is the "traditional" approach,
// the second one is the succinct version and the third one the verbose one 
assertEquals(l, Arrays.asList("foo", "bar")));
assertThat(l, is(Arrays.asList("foo", "bar")));
assertThat(l, is(equalTo(Arrays.asList("foo", "bar"))));

この方法を用いると、アサートが失敗したときに自動的に適切な記述を得ることができます。