Какой у тебя опыт написания тестов

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

Ответ

Имею опыт написания unit-тестов (JUnit, Mockito) и UI-тестов (Espresso, UI Automator).

Unit-тесты:

@Test
fun `validateEmail should return true for valid email`() {
    val validator = EmailValidator()
    assertTrue(validator.validateEmail("test@example.com"))
}

UI-тесты (Espresso):

@Test
fun loginButton_click_showsWelcomeMessage() {
    onView(withId(R.id.loginButton)).perform(click())
    onView(withText("Welcome!")).check(matches(isDisplayed()))
}

Также работал с тестированием ViewModel, LiveData, Coroutines и интеграционными тестами. Использую правило InstantTaskExecutorRule для тестирования асинхронных операций.