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
なかなかぐぐっても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に書き換えればよい。
参考にさせていただいたページ
Slim3でAjaxを活用したアプリケーションを構築する (TOPGATE Google関連技術サイト)
全Eclipse Java プログラマーに捧げる Eclispe 徹底活用術完全版〜Eclipseに空気を読ませて楽する術〜 - Yamashiro0217の日記
assertThatのいろんな判定式が網羅されていて参考になります。
hamcrestのMatcherメモ - 都元ダイスケ IT-PRESS