Implement test-runner PoC (#8)
This commit is contained in:
32
docs/history/2026-04-07_이슈8-test-runner-generator.md
Normal file
32
docs/history/2026-04-07_이슈8-test-runner-generator.md
Normal file
@@ -0,0 +1,32 @@
|
||||
# 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는 옵션만 파싱해 보관한다.
|
||||
Reference in New Issue
Block a user