6

Hamcrest を使用すると、マッチャーを簡単に無効にすることができます。たとえば、次のようなアサーションを記述できます。

assertThat("The dog bites Tom", not(stringContainsInOrder(Arrays.asList("Tom", "dog"))));

org.hamcrest.core.IsNotつまり、マッチャーを使用すると、org.hamcrest.core.AnyOfアサーションを簡単に組み合わせたり否定したりできます。

AssertJに同等のものはありますか? sを結合/否定できることを知っていConditionます。しかし、通常のアサーション メソッドはどうでしょうか。たとえば、文字列が数字だけで構成されていないことをテストしたい場合、つまり次のアサーションを否定したい場合はどうしますか?

assertThat("1234xxx5678").containsOnlyDigits();
4

2 に答える 2

5

通常のアサーション メソッドを組み合わせることはできません。これは、Hamcrest が AssertJ よりも柔軟な領域です。

あなたの場合、あなたが提案したように条件を書くか、matchesアサーションでラムダを使用します。

于 2016-06-24T07:50:31.090 に答える