テスト用のデータを保持する cucumber jvm で機能ファイルを使用したいと考えています。
処理前に休止状態を使用してオブジェクトをロードする方法をテストしています。
public Deal getDealById(Long dealId) { deal = template.get(Deal.class, dealId); BigDecimal totalAmount = new BigDecimal(); //loop through all of the loans related to this deal to add up a value for (Loan tempLoan: deal.loanList) { //add amount from each loan together BigDecimal totalAmount = totalAmount + tempLoan.amount; } //set the total amount value on the deal object deal.setTotalAmount(totalAmount); return deal; }
ロードするには dealId を指定する必要があるため、ロードについてはどうすればよいですか?
私の理解では、接続と、モックされた接続から生じるオブジェクトを「モック」する必要があるということです。
Jmock、mockito、dbunit をそれぞれ見ましたが、どうすればいいのかわかりません。
ご意見をいただければ幸いです。
メモを編集
さらにコードを追加しました。データベースからオブジェクトを取得しています。次に、取引に関連するオブジェクトのリスト (多対 1) をループし、各ローンの金額を取引金額に追加します。最後に、取引を返す前に取引の合計金額を設定します。
では、機能ファイルからテスト情報を提供したい場合、このメソッドの Junit テストを作成するにはどうすればよいでしょうか?
これが機能する「実際の」シナリオでは、取引をアプリケーションにロードし、各ローンのローン金額を追加して、それを取引に設定してから返します。しかし、このメソッド内でデータベースからロードする必要があることを考えると、このテスト用の JUnit を作成する方法がわかりません。