Итак, у меня есть класс базы данных, у которого есть зависимость, расширяющая SQLOpenHelper, и я тестирую с помощью инструментальных тестов Android и Mockito для имитации зависимостей. Мы замечаем, что Mockito на самом деле не издевается над реализациями при выполнении Mockito.mock(class)
, вместо этого выполняется фактический код и выдает исключения с нулевым указателем, как мы и ожидали. На устройствах с API 19 тесты выполняются должным образом, и макеты работают правильно.
У кого-нибудь есть предложения или что-то попробовать? Я пробовал реальные устройства и эмуляторы с аналогичными результатами. Может ли это быть проблема с Mockito или с dex-maker? Я не нашел никакой информации при поиске.
После еще некоторого тестирования любого класса, который я издеваюсь с Mockito, на самом деле просто использует реализацию. Вот мои зависимости
androidTestCompile 'org.mockito:mockito-core:1.10.19'
androidTestCompile 'com.google.dexmaker:dexmaker-mockito:1.2'
Примечание: это также есть в библиотечном модуле, если это имеет значение.