【JUnit】【Mock】 EasyMock ~入門編~

設定手順

[1] EasyMock をダウンロードする

 * 下記URLからEasyMockを取得する。
(ここから、取らずにMainページから取得したものを使ったのでコンパイルされずにはまった。。。)
http://www.easymock.org/Downloads.html

[2]ダウンロードしたJarをEclipseに取り込む

 * easymock-2.5.2.jar
 * easymock-2.5.2-javadoc.jar
 * easymock-2.5.2-samples.jar
 * easymock-2.5.2-sources.jar
 * easymock-2.5.2-tests.jar

[3]プログラムを書く

 まず手始めに、上記サンプルプログラムを使って、Mockを理解する。

【1】インターフェイス(「リスト 1. ExchangeRate」、どのように行うかを規定していない。)
【2】テスト対象クラス(「リスト 2. Currency クラス」)
【3】テストクラス(「リスト 3. CurrencyTest クラス」←JUnit テストとして作成)

以下が参考になる。
http://www.ibm.com/developerworks/jp/java/library/j-easymock.html#N10085

サンプル

import junit.framework.TestCase;
import org.easymock.EasyMock;
import java.io.IOException;

public class CurrencyTest extends TestCase {

    public void testToEuros() throws IOException {
        Currency testObject = new Currency(2.50, "USD");
        Currency expected = new Currency(3.75, "EUR");
        
        ExchangeRate mock = EasyMock.createMock(ExchangeRate.class);
        // 期待値を設定しておく。
        EasyMock.expect(mock.getRate("USD", "EUR")).andReturn(1.5);
        EasyMock.replay(mock);

        // 実際のテストはここから
        Currency actual = testObject.toEuros(mock);
        
        assertEquals(expected, actual);
    }
}