Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Kotlin: testing, viewmodel, junit

Почему в проекте были только UI-тесты? Как покрывали бизнес-логику?

Вопрос исследует причины выбора UI-тестов и альтернативы для тестирования логики.

Короткий ответ

  • UI-тесты выбраны для проверки интеграции компонентов.

  • Бизнес-логика тестировалась через ViewModel и UseCase-классы.

Длинный ответ

1. Причины UI-тестов

  • Проверка взаимодействия между компонентами.

  • Минимизация mock'ов (близко к реальному поведению).

2. Тестирование логики

Пример:

class MyViewModelTest {
    @Test
    fun `test data loading`() = runTest {
        val mockRepo = mockk<Repo>()
        coEvery { mockRepo.fetchData() } returns testData
        
        val viewModel = MyViewModel(mockRepo)
        viewModel.loadData()
        
        assertEquals(testData, viewModel.state.data)
    }
}

Вывод:
UI-тесты дополняют модульные, но не заменяют их.

  • Аватар

    Android Guru

    Anton Gulyaev

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.

Уровень

  • Рейтинг:

    2

  • Сложность:

    5

Навыки

  • Kotlin

    Kotlin

Ключевые слова

#testing

#viewmodel

#junit

Подпишись на Android Developer в телеграм

  • Аватар

    Android Guru

    Anton Gulyaev

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.