EasyMockを使用してJavaコードのユニットテストを行っています。テストしようとしているクラスは、RESTful WebサービスAPIレイヤーです。 APIには、APIテストで嘲笑されている基礎となるサービス層があります。私の問題は、 APIメソッドを正確に単体テストする方法を考え出すことです。なぜなら、service.getById()
を2回呼び出して、呼び出しごとに別のオブジェクトが返されることを期待しているからです。EasyMockは、同じテストで複数の異なるオブジェクトを返すメソッドを想定しています。
editObject(ID, params...)
最初にIDが有効であることを確認するために、サービスレイヤーからオブジェクトを取得しようとします(最初にservice.getById(ID)
が呼び出され、元の未修正オブジェクトが返されます)。次に、API呼び出しで指定されたパラメータを変更してサービスに保存し、呼び出し元にサービス管理された変更オブジェクトを渡します(第2のservice.getbyId(ID)
呼び出しは変更されたオブジェクトを返します)。
EasyMockでこれを表現する方法はありますか。