jUnitで書くためのより良い方法はありますか
String x = "foo bar";
Assert.assertTrue(x.contains("foo"));
HamcrestとJUnit4を追加すると、次のことができます。
String x = "foo bar";
Assert.assertThat(x, CoreMatchers.containsString("foo"));
いくつかの静的インポートを使用すると、見た目がはるかに良くなります。
assertThat(x, containsString("foo"));
必要な静的インポートは次のとおりです。
import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.CoreMatchers.containsString;
可能な限りfest assert 2.0を使用してください編集: assertjにはより多くのアサーション(フォーク)がある場合があります
assertThat(x).contains("foo");
別のバリアントは
Assert.assertThat(actual, new Matches(expectedRegex));
さらに、などorg.mockito.internal.matchers
の興味深いマッチャーが他にもいくつかあります。StartWith
Contains
assertj バリアント
import org.assertj.core.api.Assertions;
Assertions.assertThat(actualStr).contains(subStr);
このページで多くの回答を試しましたが、実際には何も機能しませんでした:
そのため、読みやすいコードを書く代わりに、質問に記載されているシンプルで実行可能なアプローチを使用することにしました。
うまくいけば、別の解決策が出てくるでしょう。