現時点では次のコードを使用してboolean
値をアサートしていますが、メソッドorg.hamcrest.Matchers.is()
は非推奨です。
_assertThat(someValue, is(false));
_
assertTrue()
に頼らずにブール値をテストするための単純な代替構文があります。これにより、「Java.lang.AssertionError」のような失敗メッセージが表示されます
コメント/回答を受け取った後に編集
Eclipseが次のimportステートメントを非推奨として表示するため、最初の懸念が提起されました
Hamcrest API docsを表示すると、3つのオーバーロードされたis()
メソッドのバリエーションがあり、そのうちの1つだけが非推奨です。
したがって、@ markからのコメントと@mattからの回答を明確にするために、上記で投稿したis()
の使用は有効であり、非推奨ではありません。
equalTo(T)
を試しましたか?
_assertThat(someValue, equalTo(false));
_
is(T)
が推奨されていないことはわかりません- is(Class)は非推奨です dです。
これは一時的な依存関係の問題だと思っていましたが、Eclipseでの表示の問題であり、オーバーロードされたフォームが1つあるためインポートが非推奨とマークされます。インポートはすべてのフォームを公開するため、コードは正常にコンパイルされます。
非推奨のフォームはソースから削除されており、次のリリース(1.4)には存在しません。
元の回答
問題は、 JUnitにはJARにHamcrestクラスのセットが含まれています です。現時点ではjunit-dep.jar
を使用できますが、JUnitの新しいバージョン(これまでの4.9および4.10)では省略されています。
文書のクラスマッチャーにinstanceOf
を使用すると言われています。
http://junit.org/javadoc/latest/org/hamcrest/core/Is.html#isA(Java.lang.Class)
is(IOException.class);
なります
is(instanceOf(IOException.class));
例えば。