checklist.md 3.3 KB

E2E Infrastructure Scaffold Checklist

Preflight Validation

  • Test framework already initialized (Tests/ directory exists with proper structure)
  • Game state manager class identified
  • Main gameplay scene identified and loads without errors
  • No existing E2E infrastructure conflicts

Architecture Analysis

  • Game engine correctly detected
  • Engine version identified
  • Input system type determined (New Input System, Legacy, Custom)
  • Game state manager class located
  • Ready/initialized state property identified
  • Key domain entities catalogued for ScenarioBuilder

Generated Files

Directory Structure

  • Tests/PlayMode/E2E/ directory created
  • Tests/PlayMode/E2E/Infrastructure/ directory created
  • Tests/PlayMode/E2E/Scenarios/ directory created
  • Tests/PlayMode/E2E/TestData/ directory created

Infrastructure Files

  • E2E.asmdef created with correct assembly references
  • GameE2ETestFixture.cs created with correct class references
  • ScenarioBuilder.cs created with at least placeholder methods
  • InputSimulator.cs created matching detected input system
  • AsyncAssert.cs created with core assertion methods

Example and Documentation

  • ExampleE2ETest.cs created with working infrastructure test
  • README.md created with usage documentation

Code Quality

GameE2ETestFixture

  • Correct namespace applied
  • Correct GameStateClass reference
  • Correct SceneName default
  • WaitForGameReady uses correct ready property
  • UnitySetUp and UnityTearDown properly structured
  • Virtual methods for derived class customization

ScenarioBuilder

  • Fluent API pattern correctly implemented
  • Build() executes all queued actions
  • At least one domain-specific method added (or clear TODOs)
  • FromSaveFile method scaffolded

InputSimulator

  • Matches detected input system (New vs Legacy)
  • Mouse click simulation works
  • Button click by name works
  • Keyboard input scaffolded
  • Reset() method cleans up state

AsyncAssert

  • WaitUntil includes timeout and descriptive failure
  • WaitForValue provides current vs expected in failure
  • AssertNeverTrue for negative assertions
  • Frame/physics wait utilities included

Assembly Definition

  • References main game assembly
  • References Unity.InputSystem (if applicable)
  • overrideReferences set to true
  • precompiledReferences includes nunit.framework.dll
  • precompiledReferences includes UnityEngine.TestRunner.dll
  • precompiledReferences includes UnityEditor.TestRunner.dll
  • UNITY_INCLUDE_TESTS define constraint set

Verification

  • Project compiles without errors after scaffold
  • ExampleE2ETests.Infrastructure_GameLoadsAndReachesReadyState passes
  • Test appears in Test Runner under PlayMode → E2E category

Documentation Quality

  • README explains all infrastructure components
  • Quick start example is copy-pasteable
  • Extension instructions are clear
  • Troubleshooting table addresses common issues

Handoff

  • Summary output provided with all configuration values
  • Next steps clearly listed
  • Customization requirements highlighted
  • Knowledge fragments referenced