EasyMockで抽象クラスのモックを作ってvoidメソッドが実行されるか確認

  • EasyMock ClassExtensionが必要
  • cglibのライブラリが必要
    • 無いと、java.lang.NoClassDefFoundError: net/sf/cglib/proxy/Enhancer が発生
  • replayやverifyはEasyMockじゃなくて、IMocksControlを使う?
    • EasyMock使ったらザルだった。そういうもの?
    • expectLastCallは使えない?普通に使えた。

テストケース

import java.io.InputStream;

import org.easymock.classextension.EasyMock;
import org.easymock.classextension.IMocksControl;

public class UtilTest {

    @Test
    public void test throws Exception {
        final IMocksControl c = EasyMock.createControl();
        final InputStream mock = c.createMock(InputStream.class);
        mock.close();
        c.replay();

        Util.close(mock);

        c.verify();
    }
}