EasyMocks を使用しています。
メソッド内には、作成された新しいオブジェクトがあります。そして、そのオブジェクトに対して、マップを返すメソッドが呼び出されます。以下のように
test(){
Fun f= new Fun();
Map m =f.getaMap();
}
その時にカスタムマップを返したい。どうすればいいのですか。
ありがとう。
EasyMocks を使用しています。
メソッド内には、作成された新しいオブジェクトがあります。そして、そのオブジェクトに対して、マップを返すメソッドが呼び出されます。以下のように
test(){
Fun f= new Fun();
Map m =f.getaMap();
}
その時にカスタムマップを返したい。どうすればいいのですか。
ありがとう。
私はあなたのコードから、あなたがテストし、それが生成するものFun
を見ているテストメソッドを私たちに与えたと推測しています。Map
Fun
forMapFactory
を作成するDependency inject a 。EasyMock の構文についてはよくわからないので、ここにモック オブジェクトを示します。これには、マップを作成するためのメソッドがあります。そのメソッドをモックしてマップを生成し、 を使用する代わりにクラス内でメソッドを呼び出します。Map
Fun
mockMapFactory
new
test() {
Fun f= new Fun(mockMapFactory);
Map m =f.getaMap();
}
Factory デザイン パターンを見てみましょう。これは、new
オブジェクト (および必要に応じてオブジェクト自体) の作成をモックできるように、呼び出しを回避できる非常に優れた方法です。また、作成するオブジェクトの種類をクラスが決定する責任を負わないことも意味します。
ファクトリをテストするときに、ファクトリ内でマップの作成をモックすることはできません。それで大丈夫です。検査によってテストするか、正しい種類のオブジェクトを取得していることを確認してください。