2011-12-06 3 views
25

Non vedo alcuna differenza di comportamento per la classe che ha l'attributo TestFixture e non. Tutti gli TearDown e SetUp funzionano allo stesso modo. C'è qualche ragione eccetto la semantica per questo uso degli attributi?Qual è la differenza se si utilizza o meno l'attributo TestFixture

+1

Interessante domanda. NUnit sembra riconoscere i dispositivi che non hanno l'attributo e li eseguono correttamente. –

risposta

20

è puramente una convenienza, cominciando con NUnit 2.5, se una classe soddisfa le condizioni per essere un dispositivo di prova e specifica almeno un metodo contrassegnato con Test, TestCase o TestCaseSource di quella classe viene trattata come un dispositivo di prova.

L'attributo TestFixture è tuttavia richiesto per il dispositivo di test parametrizzato o generico in quanto in tal caso si specificano anche ulteriori informazioni tramite l'attributo (parametri/tipi di calcestruzzo).

Maggiori informazioni sui requisiti specifici è disponibile all'indirizzo:

TestFixtureAttribute (NUnit 2.0/2.5)

4

Se si usa [TestFixture] si deve fare i conti con quella voce nella parte posteriore della testa dicendo "Hm, questo è un prova di classe, non proprio un test apparecchio "e mi chiedo come hanno sbagliato questa annotazione.

Vedere Why testFixture instead of testClass.

+3

Più uno per farmi ridere dopo una lunga giornata di lavoro sui test [TestFixture]. – ppumkin