Agent 运行 AngelScript 测试并根据结果自动迭代修复。当用户要求跑测试并修复、TDD、根据测试结果迭代时执行;写 AS 的整体流程见 write-angelscript。
当用户要求「跑测试并修复」「TDD」「根据测试结果迭代」或修改了 Script/**/*.as 并希望验证测试时,按本技能执行。写 AS 时的整体流程(写前查参考、保存即验证等)见技能 write-angelscript。
所有路径与「项目根」以 Kit 工作区约定为准:项目根为含 ManteumTower.uproject 的目录(或当前工作区中的项目根)。
在项目根下执行(典型为 Engine\ManteumTower 或项目内 Script 所在根):
cd Engine\ManteumTower
.\Scripts\RunAngelscriptTests.ps1
若引擎不在默认路径,可设置环境变量或传参:
$env:UE_ENGINE_PATH = "D:\UnrealEngine\Engine\Binaries\Win64"
.\Scripts\RunAngelscriptTests.ps1
或使用引擎自带的 Commandlet(需替换为实际引擎路径):
& "<EngineBinaries>\UnrealEditor-Cmd.exe" "Engine\ManteumTower\ManteumTower.uproject" -run=AngelscriptTest -unattended -stdout -nosplash -noscreenmessages
ANGELSCRIPT_TEST_RESULT: PASS / FAIL:总体结果。ANGELSCRIPT_FAILED_TESTS: 下列出的是失败用例名(如 ModuleName.Test_XXX)。[FAILED] ModuleName.Test_TestCaseName:失败用例。[FAILED] 之前,可能包含文件名、行号或 "Assertion failed" 信息。用上述信息确定是哪些 Test_XXX 失败以及错误原因(断言失败、编译错误等)。
Test_ExampleAssertEquals)和日志中的错误信息,定位到对应的 .as 文件(测试或被测逻辑)。.\Scripts\RunAngelscriptTests.ps1。ANGELSCRIPT_TEST_RESULT: PASS 或退出码为 0,或达到最大迭代次数(建议不超过 5 次)。void Test_<Name>(FUnitTest& t),通常位于 Script/ 或 Script/Test/ 下的 .as 中。ModuleName.Test_TestCaseName,可通过在 Script/**/*.as 中搜索 Test_TestCaseName 找到对应测试与模块。不依赖打开编辑器:使用 UnrealEditor-Cmd、退出码与 Saved/Logs。流水线示例、Run-UnrealEditorCmd-CollectLog.ps1 与 GitHub Actions 片段见 content/dev/unattended-ue-automation.md。SoftUEBridge 在 Commandlet / -unattended 下不启动,不能用 soft-ue-cli 代替日志自动化。