Ответ
Имею опыт написания 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 для тестирования асинхронных операций.