Naming dei test

Per lo sviluppo di codice di buona qualità è necessario associare il proprio codice a dei test, che siano unit test, integration test o end to end test.

Uno dei primi problemi a cui si incorre è capire come effettuare il naming del progetto di test, la classe e i test stessi.

Assumiamo di avere un progetto chiamato MyMathLibrary che contiene una classe chiamata MyMath di funzioni matematiche custom della mia applicazione.

Naming del progetto

Per prima cosa è importante sottolineare che tutti i progetti di test devono essere raggruppati in una cartella ad hoc, in modo che non siano confusi con il codice effettivo; è una buona idea collocare il proprio codice in src e i test in test.

Una volta creata la cartella è necessario creare il progetto di test per MyMathLibrary, in particolare il nome deve dipendere dalla tipologia di test:

Tipologia di testNome
UnitMyMathLibrary.Tests.Unit
IntegrationMyMathLibrary.Tests.Integration
End to EndMyMathLibrary.Tests.E2E

Come si vede il progetto di test è estremamente parlante in quanto indica il progetto testato e la tipologia di test che possiamo trovare al suo interno.

Struttura delle cartelle e nomi

Naming della classe

La classe che testa MyMath si può chiamare MyMathTests in modo che sia esplicito già dal nome la classe che sto testando.

Naming del test

Il nome del test deve seguire lo stile “Metodo_Should_When“, in particolare dovrà quindi indicare dopo lo Should cosa dovrebbe fare e dopo il When in che caso dovrebbe fare quanto indicato.

Assumiamo che all’interno della mia classe MyMath vi sia il metodo Log che fa un logaritmo; il nome del test dovrebbe essere analogo a: Log_ShouldCalculateLogOfANumber_WhenIntegerNumberIsGiven.

Esempio di metodo e del suo test con xUnit

Indice

Share
Ultimi articoli

Codice Pragmatico

Contatti

Per informazioni, dubbi o consulenze non esitate a contattarmi.

Lascia un messaggio

Ricevi le ultime news

Iscrivi alla newsletter

Solo articoli interessanti, promesso ;)