山下寛人オフィシャルブログ

オイシックス株式会社 執行役員 システム本部長 山下寛人の公式ブログです。

単体テストのあり方 - mockito

以前、Springは嫌いだと書いた気がします。

単体テストのために余分にインターフェースの

コードを書かないといけないのはおかしいと。

Javaの言語仕様で余分なコードを書かなくても

スタブとか差し替えできるようになるべきだと

考えていました。


その答えを見つけました。

mockito

mockitoとは何かと言うと、あらゆるクラスのモック

オブジェクトを作るものです。

使い方は簡単です。

HttpServletRequest req = mock(HttpServletRequest.class);

given(req.getParameter("firstName")).willReturn("johannes");

こうすると、

req.getParameter("firstName")



johannes

という文字列が返るようになります。

これでサーブレットがテストできるようになります。

APIも実にわかりやすいのでソースも簡単にわかりますね。


これで余分にインターフェースを作ったり

値の詰め替えをしてメソッドを分けたり

といったいびつな形にしなくても単体テスト

できるわけです。

やっぱりこうあるべきです。