/testing

Primary LanguageC#MIT LicenseMIT

Тестирование

Это блок о написании правильных и полезных тестов.

Пройдя блок, ты:

  • Узнаешь паттерны создания тестов:
    • каноническую структуру теста AAA
    • правила именования тестов, чтобы они работали как спецификация
  • Познакомишься с антипаттернами, которые приводят к хрупкости, сложности и трудночитаемости
  • Получишь опыт тестирования "черного ящика" и "белого ящика"
  • Поймешь, когда лучше работают тесты, а когда code review
  • Почувствуешь пользу от написания тестов

Необходимые знания

Понадобится знание C# или JS

Самостоятельная подготовка

C#

  1. Познакомься с NUnit, если ещё не знаком, научись подключать его к проекту через nuget
  2. Изучи возможности синтаксиса NUnit по этому примеру или по документации
  3. Научись запускать тесты из Visual Studio с помощью Resharper по инструкции
  4. Изучи возможности синтаксиса FluentAssertions
  5. Установи .NET Framework 4.8.

JS

  1. Познакомься с Mocha, если ещё не знаком, научись подключать его через npm (yarn)
  2. Изучи возможности синтаксиса Mocha, ChaiJS
  3. Научись запускать тесты в терминале (npm test или yarn test), из WebStorm по инструкции или другой любимой JavaScript IDE
  4. Если пока плохо знаком с Node.js и ES6, то начни с Шага 1 этого туторила

Очная встреча

~ 3 часа

Закрепление материала

  1. Спецзадание Ретротестирование
    Вспомни одну-две решенные задачи. Какие тесты пригодились бы, если бы решение надо было дополнить или переписать?
  2. Спецзадание Test infection
    Решив задачу по программированию, напиши на нее модульные тесты