xUnit e le suite di Unit-testing
A partire dal primo documento che descriveva un sistema di Unit-testing automatizzato da fatto Kent Beck per SmallTalk(
Simple Smalltalk Testing: With Patterns
)
sono nati e si stanno oggi evolvendo vari framework di test, indirizzati alle più specifiche carattersitiche dei singoli linguaggi.
Hanno però tutte una struttura portante sostanziamente identica, riscontrabile con maggiore o minore precisione nelle varie implementazioni e derivante da una
sempre maggiore spinta all'automatizzazione anche della creazione dei test stessi.
La struttura di un sistema di Unit-testing
Un sistema di unit-testing si compone di quattro elementi:
Fixture
Una fixture è di fatto il contesto di esecuzione necessario per eseguire un certo test.
Suite
Una Suite è un insieme di test che necessitano dell a stessa Fixture
Asserzione
Una asserzione è un metodo o una macro che verificano il comportamento dell'unità durante il test. Se l'unità si comporta nel modo previsto
l'asserzione ha successo e il test va a buon fine. Se l'unità non si comporta nel modo previsto, si ha un fallimento e il test non va a buon fine.
Esecuzione dei test
Per permettere ad ogni test di essere eseguito nelle stesse condizioni, questo deve essere eseguito in questo modo:
startup();
/*codice di test*/
teardown();
con i due metodi
startup() e
teardown() che sono definiti per portare il sistema nelle condizioni definite dalla
Fixture.