JUnit4におけるhamcrest-libraryの利用

JUnit4の比較はorg.hamcrest.Matchers

ある数値の未満とか以上とか以下とかを判定するには、org.hamcrest.MatchersのgreaterThan()やlessThan()を使えばよい。

Matchersの利用にはhamcrest-libraryが必要

で、そのorg.hamcrest.Matchersを利用するには、別途hamcrest-libraryなるものが必要。mavenのプロジェクトなら、pom.xmlに追加するdependencyは下記になる。


org.hamcrest
hamcrest-library
1.1
test

Slim3でAjaxを活用したアプリケーションを構築する (TOPGATE Google関連技術サイト)

なかなかぐぐってもdependencyの情報が見つからなかったんですが、TOPGATE社のサイトで紹介されていました。

静的インポートをEclipseのtemplateで効率化する

静的インポート(static import)は、メソッド名を書ききってからCtrl+1でimport補完ができなくて不便に感じていた。そしたら、下記のような方法が紹介されていた。

テンプレート出力時に、hamcrest の Matcher も static import されるように以下のように編集する。
@${testType:newType(org.junit.Test)}
public void ${testname}() throws Exception {
${staticImport:importStatic('org.junit.Assert.*', 'org.hamcrest.CoreMatchers.*')}${cursor}
}

全Eclipse Java プログラマーに捧げる Eclispe 徹底活用術完全版〜Eclipseに空気を読ませて楽する術〜 - Yamashiro0217の日記

Eclipseにはデフォルトで"Test"という便利なtemplateが用意されてる。これをカスタマイズして、templateの展開時に、好きなパッケージをstatic importする技。上記ではCoreMatchers.*となっているので、これをMatchersに書き換えればよい。