PowerMock を Mockito で使用しようとしていますが、PowerMock.replayAll(); および PowerMock.verifyAll(); 私のEclipse環境では見つかりません。このダウンロードリンクを使用しました:
http://code.google.com/p/powermock/downloads/detail?name=powermock-mockito-junit-1.5.zip&can=2&q=
ここから EasyMock をダウンロードします。
http://sourceforge.net/projects/easymock/files/EasyMock/3.1/easymock-3.1.zip/download
すべての jar ファイルを libs ディレクトリに追加しました (ビルド パスから削除しました)。誰?ありがとう!
ソース コードの Android プロジェクトとテスト プロジェクト:
https://github.com/powder366/test
https://github.com/powder366/testtest
例。
package com.test
import static org.junit.Assert.*;
import org.easymock.EasyMock;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.powermock.api.mockito.PowerMockito;
import org.powermock.core.PowerMockUtils;
import org.powermock.core.classloader.annotations.PrepareForTest;
import org.powermock.modules.junit4.PowerMockRunner;
@RunWith(PowerMockRunner.class)
@PrepareForTest(Greeter.class)
public class MockStaticExampleTest {
@Test
public void mockStaticExample() throws Exception {
String expectedGreeting = "greeting";
String nameToGreet = "name";
PowerMockito.mockStatic(Greeter.class);
EasyMock.expect(Greeter.getGreeting(nameToGreet)).andReturn(expectedGreeting);
PowerMock.replayAll();
String actualGreeting = Greeter.getGreeting(nameToGreet);
PowerMock.verifyAll();
assertEquals("Expected and actual greeting did not match", expectedGreeting, actualGreeting);
}
}