lina666
@lina666
Изучаю веб ЯП.

Где найти хорошие материалы для обучения написания Unit тестам?

Недавно решил подробно изучить раздел тестирования в разработке ПО.
Решил начать с базы, написанию Юнит тестов для небольших утилит. При написании тестов опирался на данный материал:
Принципы юнит-тестирования Хориков Владимир (2021).
Очень классная книга, которая рассказывает про разные подходы их плюсы и минусы с некоторыми примерами тестирования, в целом ее полностью хватает, что бы писать тесты для ПО в котором нет UI.
При попытке найти что-то хорошее по тестированию UI у меня не получилось, из неплохого разве что
https://www.manning.com/books/testing-vue-js-appli... - на первый взгляд вроде неплохо, но у меня не получилось найти издание на русском языке, поэтому трудно сказать.
https://www.youtube.com/watch?v=65aYlf9nglU&list=P... - единственный видос в котором боль менее структурировано все рассказывают.
  • Вопрос задан
  • 47 просмотров
Пригласить эксперта
Ответы на вопрос 1
@tukreb
Вам проще всего понять как делаются Unit тесты - это открыть любой большой проект и посмотреть как там это реализовано. Но на самом деле тут нет ничего сложного. Главное правило Unit теста - это ваша документация проекта, то есть, если человек не понимает как работает ваша софтина, он должен зайти в ваши тесты и как документация понять, как использовать ваш софт. Держа эту идею, вы должны и писать ваши Unit тесты.

Например у вас есть use case создание пользователя:
1. Создаём объект пользователя с нужными данными.
2. Создаём хэш пароля.

Вот все эти 2 шага вам нужно так же повторить в Unit тест.

Далее у вас есть функция, которая делает пользователя админом:
1. Создаём объект пользователя с нужными данными.
2. Наделяем его ролью админа.

Повторяем это в Unit тесте и так со всем. Если я хочу посмотреть как мне правильно наделить юзера админом, и мне лень читать документацию, я зайду в ваши Unit тесты и посмотрю как это делается.

Кстати, если у вас есть выброс исключения например, чтобы дважды не назначить админа одного пользователя, то вы должны повторить эту ситуацию:
1. Создаём объект пользователя с нужными данными.
2. Наделяем его ролью админа.
3. Наделяем его ролью админа ещё раз.

А тестирование роутеров и UI это функциональные тесты, а не Unit.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы