> Вам нужно замокать поток, внутри мока сохранять что-нибудь типа лога вызовов и в тесте ассертить, что в логе правильный порядок вызовов. Тогда это будет юнит-тест.
Это, простите, как мне кажется, уже не укладывается в рамки «статьи для начинающих».
>хоть раз такой тест пришлось писать
Как начинал разбираться — да, писАл.
> например какие-то функции сервисного слоя (которые и БД используют)
Можно заменить в методах чтения/записи функции работы с файлами, на функции работы с БД.
В любом случае, главное — уловить суть. Я, например, долго не мог разобраться, по причине, что не мог найти руководство «для чайников». Сейчас уже вроде попроще, и потихоньку пишу тесты для своего проекта.
Сам по себе конечно. Как и при помощи функционального все случаи не рассмотришь.
Ну а используется абстрактно: при проверке реализации функциональных спецификаций и/или бизнес-логики приложения, уверенность, что при проведении очередного рефакторинга у вас не слетело половина методов и/или условий.
Это, простите, как мне кажется, уже не укладывается в рамки «статьи для начинающих».
> Если ваша функция loadData не будет ничего загружать тест всё равно пройдет
Если данные не загружены, то функция вернёт false, и тест не пройдёт.
Как начинал разбираться — да, писАл.
> например какие-то функции сервисного слоя (которые и БД используют)
Можно заменить в методах чтения/записи функции работы с файлами, на функции работы с БД.
В любом случае, главное — уловить суть. Я, например, долго не мог разобраться, по причине, что не мог найти руководство «для чайников». Сейчас уже вроде попроще, и потихоньку пишу тесты для своего проекта.
Ну а используется абстрактно: при проверке реализации функциональных спецификаций и/или бизнес-логики приложения, уверенность, что при проведении очередного рефакторинга у вас не слетело половина методов и/или условий.
Ну и, наверное, это считается круто :)