2014-10-10 3 views
2

Я пытаюсь проверить свой код, который зависит от Google Analytics SDK v4.Mocking Google Analytics v4

В частности, я пытаюсь высмеять com.google.android.gms.analytics.Tracker с Mockito.

Tracker tracker = Mockito.mock(Tracker.class); - this error.

Есть ли какие-либо подходы? Единственное, о чем я могу думать, это создать свою собственную оболочку.

ответ

0

Я считаю, что код, скомканный по ошибке, - Tracker.class - так как это будет создавать экземпляр класса, который, в свою очередь, выдает VerifyError. Это не проблема с вашим кодом, а ограничение сервисов Google Play. Сообщение было опубликовано in the Robolectric project и here.

Я использовал решение, предложенное во второй линии связи SuperJugy, вставив следующий код в нижней части моего Gradle создания файла:

tasks.withType(Test) { 
 
    test { 
 
    // set JVM arguments for the test JVM(s) 
 
    jvmArgs '-XX:-UseSplitVerifier' 
 
    } 
 
}

Чтобы заставить его работать в Android Studio I должен был добавить опцию VM -noverify в мою конфигурацию тестовой сборки.

Я думаю, что вы можете обойти проблему с помощью обертки, если код-оболочка никогда не создает класс Tracker. Однако это может быть нелегко (или возможно?), Пожалуйста, дайте мне знать, закончите ли вы по этому пути и добьетесь успеха!

+0

Вы должны изменить его на 'jvmArgs '-noverify'' в градиентной сборке – pablisco

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