0.1.0-0-pre.4

This commit is contained in:
2026-09-16 01:01:09 +02:00
parent 2c79a05dd6
commit dc22011997
38 changed files with 540 additions and 131 deletions

View File

@@ -0,0 +1,28 @@
<!-- file: docs/testing/001-TEST_ARCHITECTURE.md -->
<!-- version: 1 -->
# Architecture des tests
## Séparation physique
Le code de production sous `src/` ne contient aucun corps de test. Les tests unitaires résident dans `unit_tests/` à la racine de la crate et sont rattachés explicitement au module testé :
```rust
#[cfg(test)]
#[path = "../unit_tests/example.rs"]
mod tests;
```
Les tests dintégration, denvironnement et les smokes automatisés résident sous `tests/`, selon le mécanisme Cargo standard.
Cette séparation reprend le modèle utilisé dans KSP : elle garde `src/` exclusivement consacré au code de production tout en permettant aux unit tests daccéder au contexte privé du module auquel ils sont rattachés.
## Tests ciblés
Un delta ne relance pas automatiquement tous les tests du workspace. Les crates affectées sont testées explicitement avec `cargo test -p ... --all-targets --all-features`.
La suite globale est conservée comme gate lourde pour les frontières de version, la stabilisation et les changements transverses dont limpact ne peut pas être borné avec confiance.
## Tracing dans les tests
`game-logging-lib::with_test_tracing` installe un subscriber local au thread pour la durée du corps de test. Il évite les conflits liés à plusieurs initialisations globales et permet aux tests démettre des événements `tracing` consultables avec les mécanismes habituels du test runner.