UNIT TESTING ⚡️ Правильно внедряем unit-тесты в Unity проект

Все вокруг говорят про Unit testing, что это полезно и круто, но есть ощущение, что только говорят, и никто толком не знает, что делать с этим юнит тестированием? :). В видео расскажем, как внедрить Unit тесты в свои Юнити - проекты, как перестать их бояться, и что делать, чтобы они наконец-то появились в developers team :) - Как перестать смотреть на юнит тест так, будто это замедляет разработку и начать использовать их для ее ускорения - Как внедрить юнит тесты в команде - Как начать их использовать на существующих Unity проектах - И в целом - как писать юнит-тесты, чтобы это было легко и удобно :) Наш портал: По всем вопросам: ============================================== 00:00 Начало 00:11 Приветствие 02:16 Тема трансляции 05:51 Немного теории 06:53 Как начать писать тесты? 09:24 Почему Алексей рекомендует ставить FluentAssertions 10:26 На что будем писать тест? Выбираем unit under test 16:18 Начинаем писать тест 18:57 Делаем live template для теста и обсуждаем для чего это нужно 19:59 Где добавлять новый лайв темплейт? 20:49 Чем помогает template? 21:15 Название теста. Зачем оно нужно? И его задача. 22:38 Где мы будем их использовать? 24:34 Пишем название для теста, начиная с When Act 25:36 And Arrange. Что это? 26:00 Что мы будем проверять? 27:49 Then Assert 28:30 Алгоритм написания теста 30:18 Чиним ошибки компиляции 31:30 Запускаем и смотрим вывод 34:00 Прописываем Act 36:14 Сетапим, stub-им и mock-аем 39:45 Общение с чатиком 39:49 Ответ на вопрос: Как быть если свойство инкапсулировано и доступен только для чтения? 41:34 Ответ на вопрос: Можно ли застабать синглтон? 43:49 Продолжаем сетапить тест 44:49 Запускаем. Проверяем. Исправляем 45:45 Логика алгоритма 46:56 Тест вроде как работает, но это не точно) 47:55 Проверяем тест на ложноположительность 49:34 Не бойтесь, что вы что то сломаете или забудете 50:12 Проверка на ложноотрицательность 51:06 Пример проблемного (хрупкого) теста 53:20 Так тесты это плохо? Они же мешают и замедляют разработку? Или все-таки нет? 54:49 Как придумать проверку 56:13 Еще один пример проблемного теста 59:40 Ответ на вопрос: Два assert в рамках одного теста нормальная практика? 01:01:36 Отвечаем на вопросы из чата 01:04:22 Еще раз алгоритм 01:05:16 Рефакторинг теста 01:09:26 Выносим Setup 01:12:45 Маленький и понятный тест 01:13:02 Проверяем что тест все еще тестирует 01:13:12 Отвечаем на вопросы из чата 01:17:34 Что нужно, чтобы признать тест рабочим? Возвращаемся к названию 01:19:45 Пример использования атрибутов Setup и Teardown 01:20:51 Ответ на вопрос: Есть ли тест SetUp? 01:21:13 Вроде готово, но... 01:22:35 Что нужно, чтобы улучшить читаемость? Логирование! 01:24:25 Тест готов! 01:24:31 Как тесты добавлять в проект и как быть с командой? Опыт работы 01:26:51 Как выбрать тест, который писать? 01:27:11 CI (Continuous Integration) 01:28:32 Отвечаем на вопросы из чата 01:35:01 Фреймворки, которые мы используем 01:35:35 Ответ на вопрос: Дело ж не в том, что пишется тест сначала? (Вопрос про TDD) 01:36:52 Ответ на вопрос: Парное программирование? (Реально работает) 01:39:05 Есть смысл тестов если нету максимального покрытия (Сoverage) 01:42:05 Ответ на вопрос: Нужны ли автоматизаторы для написания тестов? 01:45:12 Ответ на вопрос: Как перестать тестировать одну фичу? 01:46:49 Завершение стрима ============================================== КУРС СРАБОТАЕТ ДЛЯ ВАС, ЕСЛИ - Вам надоело ощущение нестабильности и необходимость постоянно переписывать код инфраструктуры проекта - Вам постоянно неудобно добавлять новые модули в игру - Сталкиваетесь с проблемами порядка инициализации, когда что-то должно дожидаться другого, но явно это нигде не выражено - Непонятно как справится с огромным [модуль-нейм] Контроллером, который продолжает разрастаться - Синглтоны работали некоторое время, но теперь трещат по швам На курсе вы полностью напишите достаточно объемный проект, весь его код, чтобы понимать все нюансы. Среди прочего: - Разберемся с созданием удобного entry point-а для игры - Разберем идеологию Dependency Injection, напишем простейшую реализацию вручную, без библотек. Обсудим холивары и отследим переход к более продвинутым реализациям - Улучшим навыки сборки UI - Дополним инструментарий Editor-a - Разделаемся с нюансами сборки игры под разные платформы И многое другое, чтобы сразу же использовать в своих текущих проектах или начать новые! Запись наших вебинаров: Запись наших стримов: (18 ) #unity #gamedev #unittesting #unitytutorial
Back to Top