2017-01-25 13 views
3

Пытается запустить контрольно-измерительный тест на AS.java.lang.IllegalStateException: Не удалось инициализировать плагин: MockMaker

застрял с этой ошибкой:

java.lang.IllegalStateException: Could not initialize plugin: interface org.mockito.plugins.MockMaker at org.mockito.internal.configuration.plugins.PluginLoader$1.invoke(PluginLoader.java:66) at java.lang.reflect.Proxy.invoke(Proxy.java:393) at $Proxy4.isTypeMockable(Unknown Source)

ExampleInstrumentedTest.java

 @RunWith(AndroidJUnit4.class) 
     public class ExampleInstrumentedTest { 

      @Mock 
      Context context; 

    @Before 
    public void init(){ 
     MockitoAnnotations.initMocks(this); 
    } 

     @Test 
      public void testDisabledFlag() { 
       ChanceValidator chanceValidator = new ChanceValidator(context); 
       Validator.ValidationResult result = chanceValidator.validate(2); 
       assertEquals(result, Validator.ValidationResult.NO_ERROR); 
     } 
     } 


build.gradle

apply plugin: 'com.android.application' 

    android{ 
     .. 
     defaultConfig { 
       testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" 
     } 

     testOptions { 
       unitTests.returnDefaultValues = true 
      } 
    } 


    dependencies { 
     compile fileTree(include: ['*.jar'], dir: 'libs') 
     // Unit testing dependencies 
     testCompile 'junit:junit:4.12' 
     // Set this dependency if you want to use the Hamcrest matcher library 
     testCompile 'org.hamcrest:hamcrest-library:1.3' 
     // more stuff, e.g., Mockito 
     androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { 
      exclude group: 'com.android.support', module: 'support-annotations' 
     }) 
     compile 'com.android.support:appcompat-v7:25.1.0' 
     compile project(':mortar') 
     compile project(':mockito-core-2.6.6') 
    } 


Обновление: После комментирования лайн-

MockitoAnnotations.initMocks (это);

Это здание отлично (без исключений), но контекст посмеялся теперь null.

+0

после полной 'ExampleInstrumentedTest' –

+0

@Intellij это полный тест – AskQ

ответ

4

Работал:

dependencies { 
def mockito_version = '2.7.1' // For local unit tests on your development machine 
testCompile "org.mockito:mockito-core:$mockito_version" // For instrumentation tests on Android devices and emulators 
androidTestCompile "org.mockito:mockito-android:$mockito_version" 
} 

Нет необходимости комментировать initiMocks

+9

все еще получаю ** java.lang.IllegalStateException: Не удалось инициализировать плагин: интерфейс org.mockito.plugins.MockMaker ** –

+0

@IgorGanapolsky https: // StackOverflow .com/a/47294653/5132444 –

0

явно не включают Mockito, пусть powermock тянуть в том, что ему нужно.

+0

У меня тоже такая же проблема. Я добавил зависимости для mockito-core, но не для mockito-android, потому что я не запускаю тесты на Android-устройстве. Я запускаю тесты только в среде Linux. 'testCompile" org.mockito: mockito-core: 2.8.47 "' – MMJ

Смежные вопросы