現在はモックツール「JMockit」の使い方をご紹介しています。
今回は例外、『Exception』の出し方についてです。
例外呼び出し
数あるテストの中で悩みがちなのが、「そのテストを実行出来ない」というパターンです。
- ネットワークエラーのテストをしたい。⇒そのタイミングでネットワークエラーを発生出来ない。
- 不正なファイルが来た場合に例外を発行するテストをしない。⇒それより前の処理でチェックが済んでいるので、その場所ではエラーを発行出来ない。
こういうのですね。
絶妙なタイミングでLANケーブル抜いたりとか、そうそう上手には出来ません。
そういう時こそ、モックツールの活躍のタイミングです。
JMockitを使って無理矢理例外を発生させてしまいましょう。
そのやり方が以下です。
new NonStrictExpectations() {{ loginService.isLogin(anyString,anyString); result = new Exception(); }}; }
ソース全体を見せるよりも、該当部分だけ記載した方が分かり易いでしょう。
resultにExceptionを設定するだけでOKです。
今回はサンプルとして「Exception」の型を使いましたが、IOExceptionとか、自前で作ったExceptionとか、例外クラスならどんなものにも対応出来ます。
特記事項としては、本体ソースがvoid型でも「result = new Exception();」の形は使えるということです。
void型なのに返り値を設定するのは変な気もしますが、そういうものだと理解して下さい。
終わりに
引き続きJMockitのご紹介をしていきます。
0 件のコメント:
コメントを投稿