2009-05-05 6 views
0

Ich versuche Unit-Test die Anwendung mit VSTS 2008 Unit-Test. Mein Problem ist: Ich möchte zwei Testfall in einer Reihenfolge aufrufen. Ich verwende hierfür die Testfall-Funktion von VSTS 2008. Das Problem, mit dem ich konfrontiert bin, ist, dass ich den Wert einer Variablen (X) in TestA inkrementiere, und auf der Grundlage dieses Wertes prüfe ich etwas in TestB. Aber wenn das Steuerelement in TestB kommt, bekomme ich den Anfangswert des X, aber nicht das, was in TestA inkrementiert wurde. Ich denke für jeden Test erstellen vsts eine neue Instanz der Testklasse im Speicher. Bitte schlagen Sie eine Lösung vor, außer STATIC-Variablen zu verwenden.OrderedTest- Werte werden nicht vom vorherigen Test übernommen. - visualstudio208 - Unit Testing

-Code für die gleiche ist, wie unten

[TestMethod()] 
    public void ff() 
    { 
     i = 11; 
    } 

    [TestMethod()] 
    public void gg() 
    { 
     if (i == 4) 
     { 

      System.Diagnostics.Debug.WriteLine("it is 4"); 
     } 

     else 
     { 
      System.Diagnostics.Debug.WriteLine("it is 7"); 
     } 
    } 

Vielen Dank im Voraus

Antwort

1

Ist es möglich, die Tests in einer Weise neu zu gestalten, dass jeder separat ausgeführt werden können? Dies ist der korrekte Test in 99% der Fälle. Während es den Overhead ein wenig erhöht, und du vielleicht dein Setup ein wenig duplizierst, ist es viel einfacher zu warten, und jeder Test kann sich auf seine einzige Funktion konzentrieren, ohne sich um Umweltveränderungen kümmern zu müssen.

0

Führen Sie Ihre Bestellungstests im TestView-Fenster unter Test> Windows aus.

Wenn Sie auf die Schaltfläche klicken, werden alle Tests in der Lösung ausgeführt, die dazu führt, dass Ihre Bestellungen nicht ordnungsgemäß ausgeführt werden