[Phase 5] Tests unitaires pour fractal-gtk (composants non-UI) #320
Labels
No labels
module:M0-setup
module:M1-stt
module:M1-stt
module:M2-ai
module:M2-ai
module:M3-rich
module:M3-rich
module:M4-bridge
module:M4-bridge
module:M5-bonus
module:M5-bonus
module:setup
priority:high
priority:high
priority:low
priority:low
priority:medium
priority:medium
type:chore
type:chore
type:feature
type:feature
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
charles/my-fractal#320
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Contexte
La spec section 9.1 stipule : "tests unitaires pour chaque crate".
fractal-gtkcontient des modules avec de la logique métier testable sans GTK, notamment les modèles de préférences STT, le mode Zen, et les exports.Les widgets GTK eux-mêmes ne sont pas testés unitairement (nécessite un display), mais les modèles et états qui les pilotent le sont.
Critères d'acceptation
crates/fractal-gtk/src/stt_prefs_model.rs— tests du modèle de préférences STT (sélection moteur, taille modèle, validation)crates/fractal-gtk/src/qol.rs— tests des fonctions de QoL pures (formatage, filtrage)crates/fractal-gtk/src/zen_mode.rs— tests de la machine à état ZenMode (activation, désactivation, état initial)Ne pas tenter de tester :
Les widgets GTK qui nécessitent un display (GtkWidget, GtkWindow, etc.)
Le canvas WebView (nécessite un runtime webkit2gtk)
cargo test -p fractal-gtkpasse en CI (avecGDK_BACKEND=offscreensi nécessaire ou#[cfg(test)]guards)Notes techniques
#[test]dans des blocs#[cfg(test)]GDK_BACKEND=offscreenpour initialiser GTK sans display