0

レストレイヤー - サービスレイヤー - ダオレイヤーを持つRESTful Webサービスがあります。このサービスは、インシデントのリストを持つ顧客、特定のタイプのインシデントを持つ顧客、インシデントのない顧客、顧客なしなど、さまざまなシナリオで異なる結果セットをもたらします。

DAOレイヤーのJunitテストケースを書いています。データベースをモックアップしたい。単体テスト ケースで結果セット (状態) をテストする必要がありますか、それとも結果セットの動作をテストする必要がありますか? さまざまなテスト シナリオ用にテスト データ (結果セット) を準備し、それらに対してアサートすることは理にかなっていますか?

4

1 に答える 1

2

自分の行動を確認するだけです。

DB をモックする場合は、Mockito を使用して次のようにします。

when(mockedDAO.getResults(onSomeParameters).thenReturn(yourStubbedReturnSet);

次に、DAO をスタブ化してクック済みの結果セットを返しますが、これに対して何かをアサートしても意味がありません。

したがって、.getResults() が期待するパラメーターを使用して DB を呼び出すことを確認してください。DAO はこれ以上何もしないはずなので、これ以上テストする必要はありません。

ああ...そして最初にテストを書いてください:)コードをテストする方法を理解するのがずっと簡単になります。

于 2013-06-17T21:52:26.183 に答える