2012-10-28 26 views
5

Ho 3 metodi di prova della mia classe unit test, ma Visual Studio viene eseguito solo il secondo test, ignorando gli altriVisual Studio non viene eseguito tutti i test di unità in una classe di test

Questi sono i metodi di prova 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); 

    } 
} 

Quindi quando eseguo il test solo sortTest2 viene eseguito? Mi aspetto 3 risultati da questo. Sto ottenendo risultati 1/1 passati. TestName: sortTest2.

Che cosa è successo con gli altri due test che ho fatto?

+1

Sembra che stia semplicemente eseguendo una vecchia compilation o qualcosa del genere ... Prova a pulire la cache e rieseguire i test – gillyb

+1

Come parte, segui le convenzioni di denominazione .NET e dai il nome ai metodi di test in modo che sia chiaro quale scenario sono " riordinamento (Probabilmente non hai bisogno di 'ref', o ...) –

risposta

4

gillyb, sì, tu di destra penso. Riavviare Visual Studio ha risolto il problema.

2

Ho notato che i test vengono visualizzati come "non eseguiti" al termine dell'esecuzione del test. Risultati questi test non sono mai stati completati a causa di una StackOverflowException lanciata a metà strada.

1

Qualcosa che mi ha morso più di una volta con questo è che il progetto di test non è stato verificato per essere costruito nella configurazione della soluzione.

Problemi correlati