2009-03-30 7 views
23

posso aggiungere un attributo su un test di ignorarloNUnit ignorare tutte le prove

[Test] 
[Ignore("Foo Bar")] 

Esiste un modo per ignorare tutte le prove in un file (a livello TestFixture)?

risposta

-6

Semplicemente non applicare l'attributo TextFixture sulla classe.

+18

Non applicando l'attributo si sta ignorando il fatto che ci sono metodi di prova all'interno di questa classe che non sono essere testati per una ragione. È necessario utilizzare [TestFixture, Ignore ("reason")] per fornire l'output dei risultati del test con un motivo per cui vengono ignorati. Cancellarlo/rimuoverlo sta offuscando del tutto la ragione quando probabilmente ha senso comunicarlo ad altri sviluppatori. –

+2

+1 @Chris ... L'attributo Ignora trasmette lo scopo molto più chiaramente. – karlgrz

+0

Questo non è corretto a partire da NUnit 2.5, l'attributo TestFixture è facoltativo nella maggior parte dei casi - http://www.nunit.org/index.php?p=testFixture&r=2.5 – ferventcoder

0

Rimuovere l'attributo [TestFixture] dalla classe sembra funzionare.

Modifica: questa risposta è diventata sbagliata a partire da NUnit 2.5 quando l'attributo [TestFixture] è diventato facoltativo per i dispositivi non parametrici non generici. Vedi here per ulteriori informazioni.

1

È possibile rendere "on-demand" l'intero TestFixture utilizzando l'attributo [Explicit]. Quindi è lì quando lo vuoi, ma solo quando fai clic esplicitamente su di esso.

8

Come suggerito, l'attributo [Explicit] funziona correttamente. Si può anche semplicemente inserire l'attributo [Ignore()] sotto l'attributo [TestFixture], come indicato nella documentazione:

http://www.nunit.org/index.php?p=ignore&r=2.5

Usa [Ignore()] se si desidera che il test deve essere contrassegnato come ignorato (e quindi si ottiene la barra gialla se tutti altri test passano). Usa [Explicit] se vuoi che il test sia completamente scontato (e quindi ottieni la barra verde se passano tutti gli altri test).

59
[TestFixture, Ignore("reason")] 
public class YourTestFixture { } 

O se si preferisce rompere i tuoi attributi fuori a uno per riga:

[TestFixture] 
[Ignore("reason")] 
public class YourTestFixture { } 
+1

@leora, questa è la risposta CORRETTA ... dovrebbe essere accettato. –

+2

Questa è la migliore risposta. La risposta attualmente accettata è anche tecnicamente corretta, ma ti lascia in uno stato di avere un codice morto che non conosci (la ragione è nei commenti su quella risposta). Con le versioni più recenti di NUnit 2.5+, la risposta accettata è in realtà errata perché l'attributo TestFixture è facoltativo. Vedi http://www.nunit.org/index.php?p=testFixture&r=2.5 – ferventcoder