13. Тестирование в Unreal Engine. Первый unit тест. Unreal Automation Frontend. Автоматизация UE.

preview_player
Показать описание
#unrealengine #tests #gamedev #devops #ue4 #unittests #unrealengine5 #ue5

В лекции рассматриваем: automation session frontend, как запускать тесты,
как задекларировать собственный тест в UE, фильтры для тестов, основные функции движка для проверки условий. На примерах оттестируем две функции структуры FMath — Max и Sqrt.

Мой курс «Unreal Engine — полное руководство по разработке на С++»

0:00:00 - Введение
0:02:25 - Рассматриваем Automation Frontend
0:05:45 - Плагины для тестирования
0:06:45 - Standalone версия Automation Frontend
0:07:58 - Создаем C++ класс для тестирования
0:09:19 - Исправляем ошибку подключения .h файла
0:11:20 - Разбираем макрос для создания теста
0:14:20 - Рассматриваем EAutomationTestFlags
0:18:08 - Добавляем функцию выполнения теста RunTest
0:19:44 - Тестируем функцию FMath::Max, рассматриваем основные функции для тестирования
0:29:26 - Тестируем функцию FMath::Sqrt, разбираемся с точностью для вещественных чисел
0:34:50 - Заключение
0:35:43 - Standard tests
0:37:02 - Пример с AddWarning и return false
0:38:44 - Домашнее задание для желающих

Ссылки из видео:

Youtube курс посвящен автоматизации разработки в Unreal Engine.

План курса:
-------------------------------------------------------------
✔ Cборка движка из исходного кода
✔ Cборка проекта blueprint игры
✔ Cборка проекта C++ игры
✔ .clang-format, pre-commit .git hook
✔ Сборка UE5 из исходного кода
✔ Unreal version selector / unreal build tool (UBT)
✔ Unreal version selector bug fixes
✔ Сборка бинарной версии из исходников (Installed Build)
✔ Сборка dedicated/listen сервера, подключение клиентов
✔ Тестирование в Unreal Engine. Обзор модуля
✔ Введение в тестирование. Теоретическая часть. Основные понятия
➨ Знакомство с Unreal Testing Automation Frontend. Простейшие unit тесты
∎ Продолжаем знакомство с тестированием в UE. Последовательность Фибоначчи
∎ Тестирование простейшего C++ класса
∎ Создаем C++ инвентарь для тестирования
∎ Тестирование классов UObject
∎ Test Driven Development (TDD). Тестирование AActor. Latent automation command
∎ Интеграционное тестирование. Симуляция ввода Input Component
∎ Functional screenshot test
∎ Публикация отчета по тестам. Test Report
∎ Метрики тестирования. Тестовое покрытие. OpenCppCoverage
∎ Создание работы в Jenkins для автоматического запуска тестов с публикацией отчетов
∎ Slack. Email notifications
∎ Jenkins pipelines
-------------------------------------------------------------

Ресурсы:

Поддержать канал:
Рекомендации по теме
Комментарии
Автор

Супер наконец то практика по тестированию в Unreal

MegaAtlus
Автор

Огромное спасибо за лекцию! Крайне полезный материал. С нетерпением жду продолжение!

dkodkodko
Автор

Отличный урок. Очень бы хотелось увидеть урок создание базы данных. хотя бы с чего начинать и как её внедрить)

sirenot
Автор

Юнит тест это тест кейс то есть тестовый случай то есть он проверяет ОДНУ какую то штуку, то есть ассерт на один тест должен быть один. Единственное исключение это энд ту энд тесты которые могут иметь много и скорее всего софт ассертов. В данном случае тест нужно было разбить на несколько, возможно потом объединить несколько тестов через параметризацию (дата драйвинг подход) если например тесты различеются только входными данными но не кодом проверки. Таким образом если вдруг какая-то одна проверка завалится то это не поломает остальные проверки и вы получите более полную инфомацию об ошибке и о качестве продукта.

abrampetrenko
Автор

Как сделать всё тоже самое, только на блюпринтах ?

DeltaZavr.
Автор

Юрий, подскажите, сейчас можно сразу начинать тестирование с UE5? там будет один и тот же проект на протяжение выходов видео? Вы там говорили, что все равно потом перейдете на него...

Татьяна-хяк
Автор

Привет! Подскажи плиз, а как ты запускаешь через дженкинс комманд лайн, чтобы собрать данные из лога и вывести их на html страницу?

Nykonenki