正如在这个环节讨论- https://groups.google.com/group/powermock/browse_thread/thread/25ba2b85d9e576f4,我试图用PowerMock与Robolectric嘲笑一个静态方法。但这会引发一些难以理解的异常。
下面是我的测试课:
package net.therap.passreset.service;
import android.content.Context;
import com.xtremelabs.robolectric.Robolectric;
import net.therap.passreset.util.ConnectivityStatus;
import org.junit.After;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.powermock.core.classloader.annotations.PrepareForTest;
import org.powermock.modules.junit4.rule.PowerMockRule;
import roboguice.RoboGuice;
import roboguice.activity.RoboActivity;
import roboguice.test.RobolectricRoboTestRunner;
import static org.easymock.EasyMock.expect;
import static org.powermock.api.easymock.PowerMock.mockStatic;
/**
* @author sharafat
*/
@RunWith(RobolectricRoboTestRunner.class)
@PrepareForTest(ConnectivityStatus.class)
public class TherapWebServiceClientTest {
@Rule
public PowerMockRule rule = new PowerMockRule();
private Context context = new RoboActivity();
private TherapWebServiceClient therapWebServiceClient;
@Before
public void setUp() throws Exception {
RoboGuice.setBaseApplicationInjector(Robolectric.application, RoboGuice.DEFAULT_STAGE);
therapWebServiceClient = RoboGuice.getInjector(context).getInstance(TherapWebServiceClient.class);
mockStatic(ConnectivityStatus.class);
}
@After …Run Code Online (Sandbox Code Playgroud)