Какие знаешь инструменты для создания MockContext

«Какие знаешь инструменты для создания MockContext» — вопрос из категории Тестирование, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Для создания MockContext в Android разработке можно использовать следующие инструменты:

  1. Robolectric – позволяет запускать тесты на JVM с эмуляцией Android окружения, включая MockContext.
val context = RuntimeEnvironment.getApplication()
  1. Mockito – создает моки любых объектов, включая Context.
val mockContext = mock(Context::class.java)
  1. AndroidX Test – предоставляет ApplicationProvider.getApplicationContext() для тестов.

  2. Собственный MockContext – можно реализовать вручную, переопределяя нужные методы.

class MyMockContext : MockContext() {
    override fun getPackageName(): String = "com.example.test"
}

Выбор зависит от задачи: Robolectric для интеграционных тестов, Mockito для unit-тестов.