2012-10-28 9 views
5

mam 3 metody badań w mojej klasie testów jednostkowych, ale Visual Studio działa tylko drugi test, ignorując innychVisual Studio nie uruchomić wszystkie testy jednostkowe w klasie testowej

Są to metody badań 3:

[TestClass()] 
public class InsertionSortTest 
{ 

    [TestMethod()] 
    public void sortTest() 
    { 
     InsertionSort target = new InsertionSort(); // TODO: Initialize to an appropriate value 
     int[] n = new int[] { 2, 1, 4 }; 
     int[] nExpected = new int[] { 1, 2, 4 }; 
     target.sort(ref n); 
     CollectionAssert.AreEqual(nExpected, n); 

    } 

    [TestMethod()] 
    public void sortTest2() 
    { 
     InsertionSort target = new InsertionSort(); // TODO: Initialize to an appropriate value 
     int[] n = new int[] { 1, 2 }; 
     int[] nExpected = new int[] { 1, 2 }; 
     target.sort(ref n); 
     CollectionAssert.AreEqual(nExpected, n); 

    } 

    [TestMethod()] 
    public void sortTest3() 
    { 
     InsertionSort target = new InsertionSort(); // TODO: Initialize to an appropriate value 
     int[] n = new int[] { 1, 2 }; 
     int[] nExpected = new int[] { 1, 2 }; 
     target.sort(ref n); 
     CollectionAssert.AreEqual(nExpected, n); 

    } 
} 

Tak więc po uruchomieniu testu wykonywany jest tylko test sortTest2? Spodziewam się 3 wyników z tego. Otrzymuję wyniki 1/1. TestName: sortTest2.

Co się stało z pozostałymi dwoma testami, które zrobiłem?

+1

Wygląda na to, że po prostu działa stara kompilacja lub coś w tym stylu ... Spróbuj wyczyścić pamięć podręczną po ponownym uruchomieniu testów. – gillyb

+1

Odkładając na bok, postępuj zgodnie z konwencjami nazewnictwa .NET - i nazwij metody testowania, aby było jasne, jaki jest ich scenariusz. ponownie sortować. (Prawdopodobnie nie potrzebujesz 'ref', albo ...) –

Odpowiedz

4

gillyb, tak, jesteś tam, gdzie mam rację. Ponowne uruchomienie Visual Studio rozwiązało problem.

2

Zauważyłem, że testy są wyświetlane jako "nie działają" po zakończeniu testu. Okazało się, że testy te nigdy nie zostały zakończone z powodu wyrzucenia w połowie wyjątku StackOverflowException.

1

Coś, co mnie ugryzło więcej niż jeden raz, jest to, że projekt testowy nie został sprawdzony w konfiguracji rozwiązania.

Powiązane problemy