わたし的棚ぼた一万円選書 急に千葉さんに手渡された封筒、開けてみたら1万円札が1枚。何ごとかと思えば、同期の出張を代わったお礼をもらったらしい。 「葵はワンオペで育児してくれたから」と半分わけてくれました。 泡銭の1万円 これはもう、わたし的1万円選書をしろという思し召しなのでは……
わたし的棚ぼた一万円選書 急に千葉さんに手渡された封筒、開けてみたら1万円札が1枚。何ごとかと思えば、同期の出張を代わったお礼をもらったらしい。 「葵はワンオペで育児してくれたから」と半分わけてくれました。 泡銭の1万円 これはもう、わたし的1万円選書をしろという思し召しなのでは……
blog1.mammb.com のついでに hamcrest の CoreMatchers についてまとめます。 Matchers については blog1.mammb.com まずは基本の is と not 全体的にはこんな感じ。 import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertThat; import org.junit.Test; public class FooTest { @Test public void testFoo() { String actual = "foo"; assertThat(actual, is("foo")); } } not はこう。 String actual = "foo"; assertThat(actual, not("bar"));
assertThat と hamcrest の組み合わせって便利ですよねー。 assertThat と hamcrest の組み合わせについては、 JDaveの寄り道にhamcrestを試してみる。 - Fight the Future とか、 hamcrestのMatcherメモ - 都元ダイスケ IT-PRESS とか見てもらえば大体分かると思う。 問題は、assertThat メソッド。 このメソッド、シグニチャが public static <T> void assertThat(T actual, Matcher<T> matcher); な感じになっている。 なので、 class Hoge { ... } class ExHoge extends Hoge { ... } Hoge hoge() { return new ExHoge(); } なんてクラスとメソッドがあった場
JUnit4でも使えるマッチングライブラリ「hamcrest」。 ただ、hamcrestはjarが分かれているから注意する。 hamcrest-core-1.1.jar hamcrest-library-1.1.jar JUnit4.4に同梱されているのはcoreの方だけ。 libraryはsugerの定義が多いけど、機能的な追加もあるっぽい。 libraryを入れていれば、マッチングはすべてMatchersクラスから利用できる。 たとえばequalTo()メソッド。 public class Matchers { public static <T> org.hamcrest.Matcher<T> equalTo(T operand) { return org.hamcrest.core.IsEqual.equalTo(operand); } } coreのIsEqualクラスに委譲してい
技術ネタじゃないところで盛り上げてしまった。技術ネタいこう、技術ネタ。 さて、JUnitを使う際、hamcrestライブラリを使って、英語として読めるようなassertionを書く、なんてのは流行ってたり流行っていなかったり? JUnit4限定だけれど、assertionの際、assertEqualsとか色々assertionのメソッドはあるけど、全てassertThatで書くことができるはず。assertThatメソッドの第一引数にテスト対象、第二引数にhamcrestのMatcherインターフェイスの実装を与えます。なんのこっちゃですが。 Jiemamyでは、なるべくassertThat以外のassertionメソッドを使わないようにテストを書いています。(もしかしたらもう一つも残ってないかも。) まぁ、以下のように書くと、英語っぽいのが書けますよ、と。 assertThat(aaaa
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く