2015-09-02 12 views
6

Ho riscontrato un problema durante l'esecuzione dei test tramite NUnit. Non so perché, ma ogni test viene eseguito due volte. Il punto è che su un altro laptop normalmente viene eseguito solo una volta.Nunit esegue ogni test due volte

Qualcuno ha lo stesso problema e sa come gestirlo?

risposta

0

Il problema si verifica in genere quando si carica un contenitore di test (dll) più volte.

Questo può accadere se si caricano i contenitori di prova da un floder radice contenente al suo interno sia le cartelle bin che obj, che è una configurazione tipica dei progetti di Visual Studio.

Provare a limitare il caricamento del contenitore di test dalle cartelle bin.

+0

In realtà non funziona. E perché sugli altri laptop funziona correttamente ma su questo no. – MrPug

+0

Hai cercato i file dll nelle cartelle della soluzione? Si potrebbe anche costruire per due diverse configurazioni, come bin \ Release + bin \ Debug –

+0

Solo per uno solo. – MrPug

7

Ho avuto lo stesso problema. Nel mio caso, ho installato sia lo Visual Studio extension sia lo NuGet package del NUnit Test Runner. Sembra che entrambi stessero eseguendo i test, con il risultato che i test venivano eseguiti due volte.

La disinstallazione dell'estensione di Visual Studio ha risolto il problema.

+0

Ho sia Visual Studio Extension che il pacchetto nuget. Rimuovere il pacchetto nuget non risolve il mio problema. Proverò il contrario. –

+0

Se quanto sopra non risolverà il problema, dai un'occhiata anche al pannello di controllo, in ** Programmi e funzionalità ** e disinstalla l'installazione di Nunit da lì. –

+0

Per me, ho disinstallato il pacchetto nuget e riavviato VS. – curob

0

Il funzionamento del test può anche essere duplicato quando i test sequenziali hanno accidentalmente gli stessi parametri di test.

[Test, Sequential] 
      public void Integr_MController_DeleteGet_ReturnsViewAndModel(
[Values("[email protected]", "[email protected]")] string firstEmail, 


[Values("[email protected]", "[email protected]")] HTTPstring updatedEmail) {test code} 

Effettuerà lo stesso test due volte e verrà visualizzato in TestExplorer come lo stesso test.

0

Avevo un problema simile durante l'esecuzione del test con il corridore di Visual Studio NUnit3, il test veniva eseguito solo una volta ma durante l'esecuzione nella riga di comando con NUnit3-Command.exe, il test veniva eseguito due volte. Ho passato troppo tempo a inseguirlo. Ho notato che il conduttore della linea di comando stava segnalando 2 test eseguiti e giunta alla conclusione che si trattava di un problema nella dll. Questo può sembrare folle ma ho copiato tutto il mio codice di test in una nuova classe, cancellato il vecchio, compilato e il test ora viene eseguito solo una volta in entrambi gli scenari.

0

Nel mio caso, stava avendo una classe base e una classe derivata entrambi con l'attributo TestFixture. Tutti i test della classe derivata funzionerebbero due volte.

È stato risolto inserendo solo l'attributo nella classe base.