Generatore di Unit Test
Il Generatore di Unit Test produce una suite di test completa per qualsiasi funzione, metodo o classe che fornisci. Va oltre il "percorso felice" per includere edge case, condizioni limite, scenari di errore e gestione di input nulli/vuoti che spesso vengono trascurati.
Sviluppatori di ogni livello usano questo template per creare suite di test su codice esistente (soprattutto codice legacy senza test), per verificare che la propria copertura sia adeguata, o per imparare pattern di testing su framework poco familiari. Funziona con qualsiasi linguaggio e framework di test.
Il prompt è efficace perché utilizza una categorizzazione sistematica dei tipi di test (percorso felice, edge case, gestione errori, valori limite) invece di generare test casuali. Questo garantisce una copertura completa e insegna allo sviluppatore a ragionare sulle categorie di test che potrebbe aver trascurato.
This prompt is just the starting point
Score it with AI, optimize it with one click, track versions, and build your prompt library.
The Prompt
Genera una suite completa di unit test per il seguente codice: **Linguaggio di programmazione**: [LINGUAGGIO, es. TypeScript, Python, Java] **Framework di test**: [FRAMEWORK, es. Jest, pytest, JUnit] **Codice da testare**: ``` [INCOLLA QUI LA TUA FUNZIONE, METODO O CLASSE] ``` Genera i test organizzati in queste categorie: 1. **Test del Percorso Felice**: Testa il comportamento normale e atteso con input tipici. Copri i principali casi d'uso per cui la funzione è stata progettata. 2. **Test degli Edge Case**: Testa le condizioni limite, inclusi: - Input vuoti (stringhe vuote, array vuoti, valori zero) - Input con un singolo elemento - Valori massimi/minimi - Input nulli o undefined (se il linguaggio lo consente) 3. **Test di Gestione Errori**: Verifica che gli errori vengano sollevati o gestiti correttamente per: - Tipi di input non validi - Valori fuori intervallo - Parametri obbligatori mancanti - Dati malformati 4. **Test dei Valori Limite**: Testa i valori ai confini esatti delle condizioni (es. se una funzione verifica `x > 10`, testa con 9, 10 e 11). Per ogni test: - Usa nomi descrittivi che spiegano lo scenario: `should return empty array when input array is empty` - Includi le sezioni Arrange/Act/Assert (o Given/When/Then) - Aggiungi un breve commento che spiega PERCHÉ questo test case è importante - Usa dati di test realistici, non valori generici come "test" o "foo" Dopo la suite di test, elenca eventuali scenari aggiuntivi che richiederebbero il mocking di dipendenze esterne, e spiega cosa simulare e perché.
Usage Tips
- Includi la firma completa della funzione e i tipi: Più contesto fornisci (tipi dei parametri, tipo di ritorno, docstring), più mirati saranno i test.
- Specifica il framework di test: Jest, pytest, JUnit e il package testing di Go hanno convenzioni diverse. Specificare il tuo garantisce un output pronto da copiare e incollare.
- Rivedi e sfoltisci: Il generatore produce volutamente più test del necessario. Rimuovi quelli che testano dettagli implementativi invece del comportamento, perché creano test fragili.
- Usalo come checklist di copertura: Anche se preferisci scrivere i test a mano, esegui prima questo prompt e confronta con i tuoi test per trovare eventuali lacune.
Get more from this prompt
Save it, score it with AI, optimize it, and track every version. Free to start.