Va bene usare asserzioni statiche (in fase di compilazione) nei test unitari?

5

O più in generale: per attivare gli errori del compilatore nei progetti di test se qualcosa che può essere controllato al momento della compilazione è sbagliato?

    
posta stijn 16.01.2013 - 13:27
fonte

2 risposte

8

In linea di principio, perché no. Un test fallito è un test fallito, indipendentemente dal fatto che avvenga in fase di compilazione o in fase di esecuzione. Gli errori nel tempo di compilazione possono anche verificarsi senza un'asserzione esplicita statica.

D'altra parte, se i tuoi test unitari vengono eseguiti solo di rado (vergogna su di te), dì ogni dozzina di check-in, allora un controllo del tempo di compilazione potrebbe ostacolarti nello scoprire se ci sono più rotture. Questo dipende dalla struttura della build e da come sono organizzati i test.

    
risposta data 16.01.2013 - 13:41
fonte
3

Sì, va bene usare asserzioni statiche / in fase di compilazione nei test unitari

Secondo la mia esperienza, molti sviluppatori non eseguono test sufficienti, sebbene possano compilarli. In un ambiente complesso, non è necessariamente possibile eseguire i test di unità sulla macchina di compilazione (configurazione dell'ambiente, ecc.) Ma è possibile compilare i test di unità. Le affermazioni statiche troverebbero problemi a quel punto, indipendentemente dal fatto che fossero stati eseguiti.

Inoltre, abbiamo scoperto che è meno invadente aggiungere i test di unità all'elenco di oggetti che devono essere compilati rispetto a forzare le persone a compilare, quindi eseguire un programma di test dell'unità prima di consentire loro di compilare / impacchettare il principale codice. Il tuo chilometraggio può variare, naturalmente.

    
risposta data 16.01.2013 - 15:06
fonte

Leggi altre domande sui tag