Android浓缩咖啡测试:java.lang.TypeNotPresentException:类型org/powermock/modules/junit4/PowerMockRunner不存在

Android浓缩咖啡测试:java.lang.TypeNotPresentException:类型org/powermock/modules/junit4/PowerMockRunner不存在,android,automated-tests,junit4,android-espresso,powermockito,Android,Automated Tests,Junit4,Android Espresso,Powermockito,我试图在Android Espresso测试用例上使用Powermock来模拟静态方法,但我收到了这个错误 我的测试使用AndroidJUnit4.class Runner运行良好,我可以使用PowerMockRunner编译它们,此错误仅在运行时发生。我的应用程序是多索引的 @RunWith(PowerMockRunner.class) @PowerMockRunnerDelegate(AndroidJUnit4.class) @PrepareForTest(RestClientFactory

我试图在Android Espresso测试用例上使用Powermock来模拟静态方法,但我收到了这个错误

我的测试使用AndroidJUnit4.class Runner运行良好,我可以使用PowerMockRunner编译它们,此错误仅在运行时发生。我的应用程序是多索引的

@RunWith(PowerMockRunner.class)
@PowerMockRunnerDelegate(AndroidJUnit4.class)
@PrepareForTest(RestClientFactory.class)
public class IgorLoginGoogleDemaisTest extends ActivityInstrumentationTestCase2<MainCacs>
{
...
    @Test
    public void test1_ErroDeConexaoAoLogar() throws NoSuchFieldException, IllegalAccessException
    {
        ....
        PowerMockito.mockStatic(RestClientFactory.class);
        PowerMockito.when(RestClientFactory.makeClient(UsuarioServicesClient.class, Mockito.any(Context.class))).thenThrow(new IOException("Erro de rede"));
        ....
    }
}
我试图将类名放入multidex.keep文件中,但没有成功


我该怎么修呢?

你好,我。。。你能让它工作吗?还没有:-(我不得不使用其他方法进行测试,而没有PowerMock@IgorRegis你能分享一下你的方法吗?
java.lang.TypeNotPresentException: Type org/powermock/modules/junit4/PowerMockRunner not present
at java.lang.Class.getDeclaredAnnotation(Native Method)
at java.lang.Class.getAnnotation(Class.java:290)
at android.support.test.internal.runner.junit4.AndroidAnnotatedBuilder.runnerForClass(AndroidAnnotatedBuilder.java:42)
at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59)
at org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:26)
at org.junit.runner.Computer.getRunner(Computer.java:40)
at org.junit.runner.Computer$1.runnerForClass(Computer.java:31)
at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59)
at org.junit.runners.model.RunnerBuilder.runners(RunnerBuilder.java:101)
at org.junit.runners.model.RunnerBuilder.runners(RunnerBuilder.java:87)
at org.junit.runners.Suite.<init>(Suite.java:81)
at org.junit.runner.Computer.getSuite(Computer.java:28)
at android.support.test.internal.runner.TestRequestBuilder.classes(TestRequestBuilder.java:791)
at android.support.test.internal.runner.TestRequestBuilder.build(TestRequestBuilder.java:754)
at android.support.test.runner.AndroidJUnitRunner.buildRequest(AndroidJUnitRunner.java:341)
at android.support.test.runner.AndroidJUnitRunner.onStart(AndroidJUnitRunner.java:238)
at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1701)
    androidTestCompile 'org.powermock:powermock-api-mockito:1.6.2'
    androidTestCompile 'org.powermock:powermock-module-junit4-rule-agent:1.6.2'
    androidTestCompile 'org.powermock:powermock-module-junit4-rule:1.6.2'
    androidTestCompile 'org.powermock:powermock-module-junit4:1.6.2'

    androidTestCompile 'junit:junit:4.12'
    androidTestCompile 'com.android.support.test:runner:0.4'
    // Set this dependency to use JUnit 4 rules
    androidTestCompile 'com.android.support.test:rules:0.4'
    // Set this dependency to build and run Espresso tests
    androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2.1'

    androidTestCompile 'com.android.support.test.uiautomator:uiautomator-v18:2.1.2'

    androidTestCompile('com.android.support:multidex-instrumentation:1.0.1') {
        exclude group: 'com.android.support', module: 'multidex'
    }