Dove devo inserire il codice che deve essere eseguito una sola volta (e non una sola volta per classe)? Un esempio per questo sarebbe una dichiarazione che inizializza la stringa di connessione DB. E ho solo bisogno di farlo una volta e non voglio mettere un nuovo metodo all'interno di ogni classe "TestFixture" solo per farlo.Inizializzazione One Time per Nunit
risposta
L'attributo [SetUpFixture]
consente di eseguire il codice di installazione e/o di rimozione una volta per tutti i test con lo stesso spazio dei nomi.
Here sono i documenti su SetUpFixture
. Secondo la documentazione:
Un SetUpFixture fuori di ogni namespace fornisce punto e smontare per l'intero assemblaggio.
Quindi se avete bisogno SetUp
e TearDown
per tutte le prove, poi basta assicurarsi che la classe SetUpFixture
non si trova in uno spazio dei nomi.
In alternativa, è sempre possibile definire una classe statica rigorosamente allo scopo di definire variabili di test "globali".
Creare una classe (io chiamo il mio Config) e decorarla con l'attributo [SetUpFixture]
. I metodi [SetUp]
e [TearDown]
nella classe verranno eseguiti una volta.
[SetUpFixture]
public class Config
{
[SetUp] // [OneTimeSetUp] for NUnit 3.0 and up; see http://bartwullems.blogspot.com/2015/12/upgrading-to-nunit-30-onetimesetup.html
public void SetUp()
{
}
[TearDown]
public void TearDown()
{
}
}
NUnit v3 modifica leggermente gli attributi. vedi [v3 docs] (https://github.com/nunit/nunit/wiki/SetUpFixture-Attribute) –
- 1. One Time Binding per interpolata Value in Aurelia
- 2. Esiste un vincolo Has-Only-one in NUnit?
- 3. nibernetico fluente one-to-one?
- 4. Symfony relazione ONE-TO-ONE
- 5. Resque: one worker per queue
- 6. Conversione da C# a Java One-Time-Password (OTP) del codice
- 7. Mappa one-to-one con flussi Java
- 8. JPA Hibernate Relazione one-to-one
- 9. grugnito-contrib-caffè one-to-one compilare
- 10. Mappatura one-to-one facoltativa in Hibernate
- 11. Rapporto One-To-One con mangusta?
- 12. Relazione One to One in MySQL
- 13. Usa JavaScript per Parse Time
- 14. data + time picker per jsf
- 15. Time to decimal time in Python
- 16. sizeof operatore compile-time o run-time
- 17. Modulo di inizializzazione dell'applicazione per IIS 7.5
- 18. One-liner per RAII su non puntatore?
- 19. one XCode Project più app per iPhone
- 20. Sviluppo di app per Xbox One?
- 21. Android: Driver ADB per HTC One X
- 22. Codice EF prima PluralizingTableNameConvention per ONE DbSet
- 23. JPA One-To-One pigro e costruzione "dinamica" JSON
- 24. Problemi di mapping One-To-One di Entity Framework
- 25. Nunit e copertura di codice per C#
- 26. Rimuovi il riferimento NUnit per Release build
- 27. Timeout per test individuali in NUnit
- 28. Database per l'importazione dei risultati NUnit?
- 29. nidificati TransactionScope per NUnit TestFixure e SetUp
- 30. pseudo-casuale dall'aspetto one-to-one int32-> Int32 funzione
che è esattamente quello che stavo cercando, grazie :) –
Secondo i documenti [NUnit] (http://www.nunit.org/index.php? p = setupFixture & r = 2.5.5): "Un SetUpFixture al di fuori di qualsiasi spazio dei nomi fornisce SetUp e TearDown per l'intero assembly." Quindi, se hai bisogno di SetUp e TearDown per tutti i test, assicurati solo che la classe SetUpFixture non si trovi in uno spazio dei nomi. –
Questi sono i documenti aggiornati per l'attributo SetupFixture per NUnit 3+: https://github.com/nunit/docs/wiki/SetUpFixture-Attribute Il grande cambiamento è che devi usare gli attributi [OneTimeSetup] e [OneTimeTearDown] su i metodi attuali, anziché solo [SetUp] e [TearDown]. –