Skip to content

PavelUd/testing

 
 

Repository files navigation

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

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

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

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

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

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

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

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 этого туторила

Java

  1. Познакомься с Junit, если ещё не знаком, научись его подключать через gradle.
  2. Изучи возможности синтаксиса документация
  3. Научись запускать тесты junit5 в ide.
  4. Изучи возможности синтаксиса assertJ

Python

  1. Познакомься c pytest, если еще не знаком (документация)
  2. Научись запускать тесты из PyCharm по инструкции
  3. Почитай о том, что такое фикстуры в pytest (например, на хабре)
  4. Установи с помощью pip в окружение библиотеки из python/requirements.txt - используй команду pip install -r python/requirements.txt

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

~ 3 часа

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

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

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 26.0%
  • Java 22.4%
  • JavaScript 20.9%
  • Python 16.6%
  • HTML 14.1%