Это блок о написании правильных и полезных тестов.
Пройдя блок, ты:
- Узнаешь паттерны создания тестов:
- каноническую структуру теста AAA
- правила именования тестов, чтобы они работали как спецификация
- Познакомишься с антипаттернами, которые приводят к хрупкости, сложности и трудночитаемости
- Получишь опыт тестирования "черного ящика" и "белого ящика"
- Поймешь, когда лучше работают тесты, а когда code review
- Почувствуешь пользу от написания тестов
Понадобится знание C#, JS или Java
- Познакомься с NUnit, если ещё не знаком, научись подключать его к проекту через nuget
- Изучи возможности синтаксиса NUnit по этому примеру или по документации
- Научись запускать тесты из Visual Studio с помощью Resharper по инструкции
- Изучи возможности синтаксиса FluentAssertions
- Установи .NET Framework 4.8.
- Познакомься с Mocha, если ещё не знаком, научись подключать его через npm (yarn)
- Изучи возможности синтаксиса Mocha, ChaiJS
- Научись запускать тесты в терминале (
npm test
илиyarn test
), из WebStorm по инструкции или другой любимой JavaScript IDE - Если пока плохо знаком с Node.js и ES6, то начни с Шага 1 этого туторила
- Познакомься с Junit, если ещё не знаком, научись его подключать через gradle.
- Изучи возможности синтаксиса документация
- Научись запускать тесты junit5 в ide.
- Изучи возможности синтаксиса assertJ
- Познакомься c pytest, если еще не знаком (документация)
- Научись запускать тесты из PyCharm по инструкции
- Почитай о том, что такое фикстуры в pytest (например, на хабре)
- Установи с помощью pip в окружение библиотеки из python/requirements.txt - используй команду
pip install -r python/requirements.txt
~ 3 часа
- Спецзадание Ретротестирование
Вспомни одну-две решенные задачи. Какие тесты пригодились бы, если бы решение надо было дополнить или переписать? - Спецзадание Test infection
Решив задачу по программированию, напиши на нее модульные тесты