Documentazione: strategia di test e regola "nuova funzione = nuovi test"
Aggiunge ADR-0003 (xUnit, Avalonia.Headless, coverlet, FakeClaude come doppio di claude, struttura src/tests) e docs/TESTING.md con la regola, le soglie di copertura e la matrice requisito-test. Ogni criterio di accettazione dell'MVP è collegato alle righe della matrice. La roadmap ha la Fase 6 e CLAUDE.md rende obbligatori i test nello stesso commit. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
941d02110d
commit
84fefda219
6 files changed
+256
-4
No files matched your search
+15
-1
@@ -23,7 +23,7 @@ Dettagli dell'MVP in [MVP.md](MVP.md).
|
||||
- [x] GUI: cronologia chat (salvataggio JSON, barra laterale, riapertura con `--resume`, eliminazione)
|
||||
- [ ] GUI: streaming della risposta (`--output-format stream-json`), stop, rinomina/ricerca chat
|
||||
- [ ] Config file accanto all'exe
|
||||
- [ ] Test automatici e CI
|
||||
- [ ] Test automatici e CI (vedi Fase 6)
|
||||
|
||||
## Fase 4 — Più motori (Claude Code, Codex, Antigravity)
|
||||
Decisione, tabella dei comandi e rischi: [ADR-0002](adr/0002-motori-cli-claude-codex-antigravity.md). Qui solo i passi. Va fatta dopo (o insieme a) la Fase 5, che estrae il punto unico di avvio processo.
|
||||
@@ -53,3 +53,17 @@ Decisione e motivazioni: [ADR-0001](adr/0001-gui-multipiattaforma-avalonia.md).
|
||||
- [x] Eliminare `ui.html` e il protocollo `WebMessage`
|
||||
- [ ] Publish single-file self-contained `win-x64` e `linux-x64`: compilano e partono (Linux: CLI e GUI su WSLg; Windows: solo CLI, via WSL); da provare la GUI su Windows nativo e su una distribuzione Linux pulita
|
||||
- [x] Aggiornare README.md e CLAUDE.md (comandi, architettura, vincoli) a migrazione conclusa
|
||||
|
||||
## Fase 6 — Test e copertura completa
|
||||
Decisione: [ADR-0003](adr/0003-strategia-di-test.md). Piano, soglie e matrice: [TESTING.md](TESTING.md). Da questa fase in poi vale la regola: ogni nuova funzione arriva con i suoi test.
|
||||
|
||||
- [ ] Verificare le compatibilità dell'ADR-0003 (xUnit, Avalonia.Headless, coverlet, `dotnet test`) e portarlo ad "Accettata"
|
||||
- [ ] Ristrutturare in `src/` e `tests/` con soluzione unica e `InternalsVisibleTo`
|
||||
- [ ] Predisposizioni di testabilità: `ChatStore` a istanza, `IClaudeRunner`
|
||||
- [ ] `FakeClaude`: eseguibile finto per i test di processo
|
||||
- [ ] Test `Core/` (CL, ST) e `MainViewModel` (VM)
|
||||
- [ ] Test del renderer markdown (MD) e della GUI headless (UI)
|
||||
- [ ] Test end-to-end e smoke di publish per `win-x64` e `linux-x64` (PUB)
|
||||
- [ ] Soglie di copertura che fanno fallire la build
|
||||
- [ ] CI con matrice Windows + Linux (fornitore da scegliere)
|
||||
- [ ] Batteria di contratto per ogni motore (EN), insieme alla Fase 4
|
||||
Reference in new issue
Block a user