Ответ
Да, писал автотесты для Android-приложений. Использовал JUnit, Espresso и UI Automator.
Пример теста на Espresso:
@Test
fun loginButton_click_showsWelcomeMessage() {
onView(withId(R.id.loginButton)).perform(click())
onView(withText("Welcome!")).check(matches(isDisplayed()))
}
Также работал с Mockito для модульных тестов и Robolectric для тестирования без эмулятора. Интегрировал тесты в CI/CD (например, GitHub Actions или Bitrise).
Ответ 18+ 🔞
А, ну это ж классика, ебать мои старые костыли! Каждый второй сейчас в резюме пишет, что «писал автотесты», а на деле — один assertEquals на весь проект. Но ты, я смотрю, в теме конкретно.
Вот смотри, примерчик твой — это же чистый Espresso, красота. Кликнул по кнопке — проверил, что текст «Welcome!» появился. Прям как в учебнике, только без соплей. Но жизнь-то, ёпта, сложнее. Бывает, нажмёшь на кнопку, а тебе не текст, а целая анимация выезжает, да ещё и через пять секунд. Или элемент вообще в другом Activity. Вот тут уже UI Automator в руки берёшь, потому что Espresso иногда смотрит на такие штуки как баран на новые ворота.
А Mockito с Robolectric — это вообще святая троица для того, чтобы не ебаться с эмулятором. Запустил тесты на своём компе — и всё, никаких этих «ожиданий сборки» по полчаса. Скорость — просто овердохуища. Главное, не накосячить с моками, а то потом такие сюрпризы вылезают, что волосы дыбом. Сам от себя охуеешь, когда продакшен-билд упадёт из-за того, что в тестах всё зелёное было.
И вот этот самый CI/CD — это вообще отдельная песня. Настроил GitHub Actions, чтобы на каждый пулл-реквест прогонялась эта вся бандура — и живи спокойно. Ну, почти спокойно. Потому что иногда флакёры такие вылезают, что терпения ноль ебать. Вроде, десять раз всё проходило, а на одиннадцатый — раз, и тест сломался потому, что «ну не успел View нарисоваться, сорян». Приходится или костыли-таймауты лепить, или переписывать.
Короче, дело это нужное, но иногда пиздец как мозг выносит. Особенно когда дизайнер каждый спринт всю вёрстку ломает, а тебе под каждое его «улучшение» тесты переписывать. Чувствуешь себя тем самым джуном, которому дали в руки отвёртку и сказали чинить движущийся поезд. Но зато когда вся пайплайна зелёная — кайф же, правда?