DB周りのテストはnmockを使うのがベストか?
データアクセスクラスのmockを作って、mockのexpected引数とreturn用のオブジェクトを用意して、必要ならmatcher用のクラスも用意して・・・
ってやるとホント大変。後で見て何をやってるテストかよくわからんのですよ。
で考えを変えて、
で - begin transaction
- Insert文を実行してテストデータを積む
- テスト実行(selectなりUpdateなり)
でrollback
ってのがいいんじゃないかと思ってきた。そうするとmockの使いどころってDB周りじゃなくて外部のGACだったりネットワークがらみだったりってところなのかな?
nmockの情報は本当に少ない。一介の業務SEが何でこんなに試行錯誤せねばならんのだ。