Files
recordingtest/docs/history/2026-04-07_이슈8-test-runner-generator.md
2026-04-07 15:21:03 +09:00

1.3 KiB

2026-04-07 — test-runner Generator (Issue #8)

  • 이슈: #8
  • 작업: Recordingtest.Runner PoC 구현 (player + normalizer + diff-reporter 통합 파이프라인)
  • 담당: Generator
  • 소요 시간: 약 30분
  • Context 사용량: 약 60k tokens

산출물

  • src/Recordingtest.Runner/ 콘솔 exe
    • RunnerOptions, RunReport, ScenarioResult
    • INormalizer, IDiffer, IRunnerHostFactory 어댑터 인터페이스
    • DefaultNormalizer, DefaultDiffer, DefaultHostFactory
    • TestRunner (RunAll, WriteJsonReport, WriteMarkdownReport, ToExitCode)
    • Program (CLI: --scenarios/--baselines/--out/--profile/--no-launch)
  • tests/Recordingtest.Runner.Tests/ (xUnit, 6 tests, all green)
  • recordingtest.sln에 두 프로젝트 추가

검증

  • dotnet build green
  • dotnet test 6/6 통과
  • Thread.Sleep / Task.Delay 0건 (grep 확인)
  • report.json 카멜케이스 + 스키마 테스트 포함
  • Exit code: 0 = all pass, 1 = any fail, 2 = any error

메모

  • 베이스라인은 사전 정규화되었다고 가정하지 않고, 매 실행 시 received와 동일 프로파일로 재정규화한다. (TestRunner.cs 상단 주석 참조)
  • --no-launch 의미는 player 책임이므로 runner는 옵션만 파싱해 보관한다.