2016-09-16 1 views
1

Ich habe eine Reihe von Tests und muss es mit zwei verschiedenen SetUp in der Basisklasse ausführen.Wie werden dieselben Nunit-Tests mit unterschiedlichen Voraussetzungen ausgeführt? (Fixtures)

Hier Screenshot http://screencast.com/t/G150W2P4o

Wie kann ich es verbessern?

+0

Wenn sie verschiedene Setups benötigen, dann sollten Sie eine Methode implementieren, mit dem 'SetupAttribute' gekennzeichnet. – HimBromBeere

+0

Ist es möglich, zwei Setup-Geräte zu haben? Irgendeine Art von Hierarchie? – Tatiana

+0

Sicher ist es. Jede Klasse kann eine 'TestFixture' sein. Hast du Probleme damit? Kann hier keinen Fehler sehen. – HimBromBeere

Antwort

2

Erstellen Sie eine einzelne, parametrisierte Testvorrichtung. Übergeben Sie Informationen darüber, welches Setup (wahrscheinlich OneTimeSetUp) für jede Instanz des Fixtures verwendet werden soll. Die Informationen müssen konstante Werte wie Strings sein, damit sie als Argument für das Attribut verwendet werden können.

Zum Beispiel ...

[TestFixture("setup1", 5)] 
    [TestFixture("setup2", 9)] 
    public class MyTestFixture 
    { 
     public MyTestFixture(string setup, int counter) 
     { 
     // You can save the arguments, or do something 
     // with them and save the result in instance members 
     } 

     [Test] 
     public void SomeTest() 
     { 
     // Do what you need to do, using the arguments 
     } 
    } 
Verwandte Themen