2013-01-11 9 views

risposta

6

Si scopre che questa funzionalità esiste in NUnit, non è molto ovvia o intuitiva.

Secondo Charlie Poole nella richiesta di funzionalità che ho creato per questa funzionalità here, afferma quanto segue funzionerà, che è una citazione diretta da lui.

Decorare una classe al di fuori di qualsiasi spazio dei nomi con [SetUpFixture]. Decora un metodo di quella classe con [TearDown]. Se lo desideri, decora lo con [SetUp].

Differenze rispetto a ciò che si sta chiedendo:

  1. Il nome rende un po 'non ovvio in questo utilizzo.

  2. NUnit consente qualsiasi numero di questi e li chiama tutti, senza alcuna garanzia di ordine. Questo è di design.

  3. Può essere applicato a un metodo statico o di istanza. Se si tratta di un metodo di istanza, la classe deve avere un costruttore predefinito e sarà creato con una durata pari all'intera esecuzione di prova. Questo è anche dal design .

Ora, questo non è abbastanza ma dovrebbe ottenere la stessa funzionalità, e forse lo farà un po 'più pulito in 3.0. :)

+0

A partire da NUnit 3, si genera un'eccezione: 'OneTimeSetUp: attributo TearDownAttribute non consentito in un SetUpFixture', cambiando a '[OneTimeTearDown]' corregge questo. – MrLore

1

Non esiste un concetto simile in NUnit. Ma è possibile applicare TestFixtureTearDownAttribute al metodo per liberare risorse ottenute da TestFixture.

+0

Grazie è quello che temevo, poiché ci sono risorse non gestite utilizzate da tutti i TestFixtures che devono essere ripuliti e quando ho eseguito il porting di un progetto MST a NUnit ho riscontrato questo problema. –

+0

Creata una richiesta di funzionalità per questo da aggiungere a NUNit. Se sei interessato, puoi trovarlo qui: https://bugs.launchpad.net/nunitv2/+bug/1098766 –

Problemi correlati