unreal-test

📁 greatinterface/unreal-skill 📅 8 days ago
1
总安装量
1
周安装量
#53747
全站排名
安装命令
npx skills add https://github.com/greatinterface/unreal-skill --skill unreal-test

Agent 安装分布

replit 1
amp 1
opencode 1
kimi-cli 1
codex 1
github-copilot 1

Skill 文档

Unreal Engine CQTest 测试代码生成

Skill 定位

用于快速选择测试类型、套用模板与 Helper,并给出 CQTest 结构化写法与 Latent Actions 使用建议。

前置准备

  • CQTest 模块已添加到项目 Build.cs 的依赖列表中
  • 需要时启用 Code Quality Unreal Test Plugin(可选,仅供参考)
  • 项目已配置好编译环境
public class TestsRuntime : ModuleRules
{
	public TestsRuntime(ReadOnlyTargetRules Target) : base(Target)
	{
		PrivateDependencyModuleNames.AddRange(
			new string[]
			{
				"CQTest",
				"CQTestEnhancedInput",
			}
		);
		

		if (Target.bBuildEditor)
		{
			PrivateDependencyModuleNames.AddRange(
				new string[] {
					"EngineSettings",
					"LevelEditor",
					"UnrealEd"
			});
		}
	}
}

快速选择

  • 基础断言 → TEST(模板:basic-test-template.cpp)
  • 结构化测试 → TEST_CLASS(模板:test-class-template.cpp)
  • Actor → ActorTestHelper(模板:actor-test-template.*)
  • Animation → AnimationTestHelper(模板:animation-test-template.*)
  • Input → InputTestHelper(模板:input-test-template.*)
  • Network → PIENetworkComponent(模板:network-test-template.*)
  • Map → MapTestSpawner(模板:map-test-template.cpp)

使用流程

  1. 选择测试类型与模板
  2. 替换命名空间、类名、测试方法名
  3. 填充 BEFORE_EACH/AFTER_EACH 与断言
  4. 需要多帧逻辑时引入 Latent Actions
  5. 在 Unreal Editor 的 Sessions Frontend 运行测试

资源索引

注意事项

  • 优先使用 Latent Actions(FWaitUntil)而非固定延时(FWaitDelay)以提高稳定性
  • 确保每个测试独立,避免依赖执行顺序
  • 使用 AFTER_EACH 正确清理资源,避免泄漏
  • 涉及网络或 Blueprint 的测试需指定 EAutomationTestFlags::EditorContext
  • 测试命名建议:测试场景_预期行为
  • 使用 TEST_CLASS 的 Setup/Teardown 机制减少重复代码
  • 测试地图不要放在 /Maps 目录,避免被默认烘焙;可放到 DirectoriesToNevercook 标记的目录