РетроспективаВсем привет! Год назад я начал небольшой курс на YouTube по автоматизации Unreal Engine. После этого случился вынужденный перерыв. Сейчас лекции возобновлены и уже разобраны следующие темы:Cборка движка из исходного кодаCборка проекта blueprint игрыCборка проекта C++ игры.clang-format, pre-commit. git hookСборка Unreal Engine 5 (early access) из исходного кодаUnreal version selector / unreal build tool (UBT)Unreal version selector bug fixesСборка бинарной версии из исходников (Installed Build)Сборка dedicated/listen сервера, подключение клиентовПлейлист курсаТестированиеСо следующей недели начинаем блок по тестированию. Он получается достаточно объемный. Все материалы подготовлены. Запись лекций в процессе. Видео обзор топиков: Темы, которые будут точно разобраны:Введение в тестирование. Теоретическая часть. Основные понятия.Знакомство с Unreal Testing Automation Frontend. Простейшие unit тесты: 1+1, тестирование собственных алгоритмов и чистых C++ классов без рефлексии движка.Тестирование классов UObject и компонентов.Разбор Test Driven Development (TDD) подхода на примере тестирования жизней персонажа. Тестирование классов AActor... TestEqual("Health is full", Character->GetHealth(), MaxHealth); TestTrue("Character is alive", Character->IsAlive()); Character->TakeDamage(DamageAmount, FDamageEvent(), nullptr, nullptr); TestEqual("Health was changed", Character->GetHealth(), MaxHealth - DamageAmount); TestTrue("Character is alive", Character->IsAlive());Интеграционное тестирование. Симуляция ввода Input Component. Latent automation command... ADD_LATENT_AUTOMATION_COMMAND(FMoveForwardTillLocationLatentCommand(TestInputComponent, Character, Spot3->GetActorLocation(), -1.0f)); ADD_LATENT_AUTOMATION_COMMAND(FEngineWaitLatentCommand(1.0f)); ADD_LATENT_AUTOMATION_COMMAND(FJumpLatentCommand(TestInputComponent, 0.0f)); ADD_LATENT_AUTOMATION_COMMAND(FEngineWaitLatentCommand(3.0f)); ADD_LATENT_AUTOMATION_COMMAND(FExitGameCommand);Functional screenshot testsПубликация отчета по тестам. Test ReportМетрики тестирования. Тестовое покрытие. OpenCppCoverageСоздание работы в Jenkins для автоматического запуска тестов с публикацией отчетовWikiВ поддержку ко всем лекциям созданы вики с открытым доступом (обновляются с выходом новых роликов):app.gitbook.comhttps://app.gitbook.com/@lifeexe-art/s/unreal-automationRésumerБуду рад всех видеть на канале. Присоединяйтесь, кому интересны данные темы. Всегда открыт к обсуждению и обмену знаниями (=