Considera che abbiamo un sistema composto da 3 moduli.
- ModuleA dipende da alcuni dati che è responsabile della creazione di
- ModuleB dipende dai dati creati in ModuleA
- ModuleC dipende dai dati creati in ModuleA e ModuleB
E l'esempio potrebbe essere:
- UserModule che crea utenti per l'intero sistema
- Dovrebbe essere in grado di creare utenti e poter rimuovere utenti
- SearchModule che trova gli utenti in base alla parola chiave
- Dovrebbe essere in grado di trovare l'utente per nome e passare al modulo successivo
- UserPreferencesModule che gestisce le preferenze degli utenti
- Dovrebbe essere in grado di cambiare le preferenze degli utenti
Per approfondire:
- UserModule richiede la creazione di alcuni utenti per la loro rimozione.
- SearchModule richiede la creazione di alcuni utenti per trovarli.
- UserPreferencesModule richiede la creazione di un utente per la modifica delle sue preferenze.
Come verranno creati i dati per questi test preservando la loro indipendenza? Esecuzione del test in ordine come UserModule test1 - SearchModule test1 - > UserModule test2 sembra abbastanza male.
È possibile ripristinare il database e creare esplicitamente ogni utente tramite endpoint REST.
Tuttavia, come si può garantire che i dati necessari siano disponibili?