2011-02-04 16 views
4

初めて返されるリストに要素が追加されていても、EasyMockモックで空のリストを複数回期待できるようにしたいと思います。EasyMockモックを使って空リストを複数回返す方法

これは可能ですか?期待どおりに作成された空のリストは再生全体にとどまるため、呼び出しの間に追加された要素はすべて保持されます。

public class FakeTest { 

private interface Blah { 

    public List<String> getStuff(); 
}; 

@Test 
public void theTest(){ 

    Blah blah = EasyMock.createMock(Blah.class); 

    //Whenever you call getStuff() an empty list should be returned 
    EasyMock.expect(blah.getStuff()).andReturn(new ArrayList<String>()).anyTimes(); 

    EasyMock.replay(blah); 

    //should be an empty list 
    List<String> returnedList = blah.getStuff(); 
    System.out.println(returnedList); 

    //add something to the list 
    returnedList.add("SomeString"); 
    System.out.println(returnedList); 

    //reinitialise the list with what we hope is an empty list 
    returnedList = blah.getStuff(); 

    //it still contains the added element 
    System.out.println(returnedList); 

    EasyMock.verify(blah); 
} 
} 

答えて

8

あなたは、新しいリストを毎回生成するandStubReturnを使用することができます。ここでは

は、私は避けるようにしようとしているものを示すコード例です。

​​
+0

ありがとうございました。問題は解決しました。 – insano10

関連する問題