2012-03-15 2 views
8

Uso il plugin NUnit da ReSharper. Non riesco a trovare alcun modo per eseguire il debug di un singolo test. Il pulsante BUG avvia sempre tutti i test, anche quando avvio il debug specificatamente da un metodo di test.NUnit debug di un singolo test

Sto provando a raggiungere un punto di interruzione con un test specifico e non voglio raggiungerlo con gli altri test.

Conosci qualche modo per farlo? Google non mi ha aiutato su questo ...

esempio del mio codice di prova

[Test] 
public void IsValidDoer_DoerValid() 
{ 
    var mockRepositoryDoer = new Mock<IDoerRepository>(); 
    mockRepositoryDoer.Setup(c => c.ActiveDoers).Returns(activeDoers.AsQueryable); 

    var doerValidation = new DoerValidation(mockRepositoryDoer.Object); 

    Assert.IsTrue(dModel.IncludedDoers.Any()); 
} 

[Test] 
public void IsValidDoer_DoerInvalidNoQuota() 
{ 
    var mockRepositoryDoer = new Mock<IDoerRepository>(); 
    var activeDoers = listDoers.ToList(); 
    activeDoers.First().QuotaActivity.Clear(); 
    mockRepositoryDoer.Setup(c => c.ActiveDoers).Returns(activeDoers.AsQueryable); 

    var doerValidation = new DoerValidation(mockRepositoryDoer.Object); 

    Assert.IsFalse(dModel.IncludedDoers.Any()); 
} 
+0

si prega di inviare il codice di prova ho bisogno di vedere come sono strutturati i test. –

+0

Sto solo chiamando lo stesso metodo con la stessa entità. Provo diversi valori per le proprietà dell'entità che viene utilizzata nel metodo. Potrebbe probabilmente essere messo nello stesso test anche se. Modifico con un po 'di codice – Mathieu

+0

Ho appena installato l'ultima versione di resharper e tutte le altre cose e questo comportamento sembra essere cambiato!Puoi eseguire il debug di solo 1 test e la cover non fa più fallire i miei test, test che normalmente passano in modalità normale ma usati per fallire con cover per qualche strana ragione ... – Seb

risposta

4

Sì Accanto al codice c'è un segno verde e giallo, basta fare clic su di esso e fare clic su eseguirà il test singolo. Hai appena fatto clic su di esso una volta che avrai ottenuto le opzioni e, in base a ciò che hai installato da Jetbrains, potresti anche avviare la copertura del codice da qui.

È inoltre possibile scegliere di aggiungerlo a una sessione già esistente di altri test o crearlo in una sessione tutto da solo.

Resharper test

Chiarimento:

Qualcuno downvoted questo così sono tornato e ha preso uno sguardo e testato sia per MSTEST e NUnit. è vero che non è consigliabile eseguire i 15 test se si desidera eseguire il debug di uno solo. Il test è stato condotto in Visual Studio 2015 con Resharper 10 e Visual Studio 2013 con Resharper 8. Se si fa clic sul segno nel file di test individuale, verrà eseguito il codice una sola volta.

Se si eseguono più test e si ottiene una sessione di test nel runner di Resharper con tre test, con il tasto destro del mouse verrà visualizzato "test di debug", tuttavia se si seleziona solo uno esegue solo un test e quindi solo il codice solo una volta.

+0

Sì, ma se eseguo il test, non si fermerà al punto di interruzione. Devo usare l'opzione DEBUG per eseguire il debug del test. – Mathieu

+0

questo è corretto, quindi si comporta allo stesso modo o almeno per ogni versione di resharper che ho posseduto. Questo comportamento è di progettazione. –

+0

L'aggiunta a un'altra sessione isola il test dell'unità, quindi il tuo suggerimento è sicuramente una possibilità! – Mathieu

0

Provare a fare clic con il codice della prova specifica. Dovresti vedere "Debug Unit Test" o qualcosa di simile nel menu di scelta rapida.

+1

Sono test di debug unit che sono nel contesto menu, quindi non molto da raggiungere da lì. – Mathieu

+0

Hai provato a farlo comunque? –

+1

Sì, esegue il debug per tutti i test – Mathieu

1

Abbiamo anche lo stesso problema con ReSharper 10 come runner di test. Avrebbe eseguito tutti i test, anche se ho configurato solo un singolo test nella sessione. Inoltre, eseguirò tutti i test quando ho usato il tasto destro del mouse sulla palla di prova per questo test.

Dopo aver installato il NUnit3 Test Adapter sotto Strumenti-> Estensioni e Updates-> online ho potuto eseguire il debug dei test dal regolare test Explorer di Visual Studio 2015 facendo clic destro e selezionando debug test selezionati. Questo esegue solo questo test :)

+0

Mi è piaciuta molto la finestra delle sessioni di test di ricerca e la funzione di copertina, ma, diavolo, l'adattatore di test NUnit3 mi consente di eseguire il debug di un solo test alla volta, se voglio così è così che andrò. Grazie per questa risposta. – Seb

+0

Aveva anche questo problema. Deve essere un bug con Resharper? Il metodo di debug test è fare clic con il pulsante destro del mouse sul metodo di prova "public void Test ..." e fare clic su "Test di debug". Per fortuna che fa solo il debug di quel test, non del tutto. – syclee

+0

Ho provato l'aggiornamento, ma non ha funzionato per qualche motivo. Per me, solo Ctrl-R + T ha funzionato. Davvero strano ma almeno ora funziona. – Nordes

1

Ho avuto lo stesso problema. Quando si prova a eseguire il debug di un singolo test facendo clic sul cerchio e selezionando "Debug (icona bug)" si eseguirà il debug per tutti i test unitari.

Ho risolto il problema eseguendo l'aggiornamento di Resharper. Ho aggiornato da Resharper Ultimate 10.0.1 a 10.0.2.