NUnit Test unit non visualizzati in Test Explorer con Test Adapter installato


145

Ho installato NUnit Test Adapter per VS2012 + 2013. Quando ho installato per la prima volta i test dell'adattatore si stavano mostrando, ma oggi hanno smesso di presentarsi per qualche motivo. Dopo aver compilato, ricostruito, pulito, riavviato, non viene visualizzato nulla in Test Explorer. Perché dovrebbe succedere? Sto usando VS2013 Ultimate.


2
Prova a fare clic con il pulsante destro del mouse sul progetto di test, quindi fai clic su Esegui. Popolerà nuovamente le finestre con i test.
Chase Florell,

@ChaseFlorell no. Vedo che la barra verde in Test Explorer inizia ad andare e poi si ferma una frazione di secondo più tardi.
RobVious,

Hai altri strumenti di test che potrebbero interferire? Uso R # per eseguire i test e utilizzo VS2012, quindi l'ambiente non è abbastanza buono. So che quando ho chiuso la finestra o ho eseguito un piccolo sottoinsieme di test, l'albero di test completo scompare.
Chase Florell,

Potresti provare a scaricare il progetto di test, a ricostruirlo e quindi a ricaricarlo ...
Chase Florell,

@ChaseFlorell Ho R # ma è lento come melassa con i test NUnit ... e prima funzionava, il che è frustrante. Proverò a scaricare.
RobVious,

Risposte:


87

Se il progetto di test è impostato su una piattaforma a 64 bit, i test non verranno visualizzati nell'adattatore di test NUnit.


54
Potrebbe essere necessario che corrisponda all'architettura specificata nel menu Test -> Impostazioni test -> Architettura processore predefinita
Brannon

6
@Brannon Lo fa. Se impostato su x64, i test nei progetti x64 sono visibili.
Base

2
È successo qualcosa di più stupido qui - ho dimenticato di aggiungere l'attributo [Test] al mio metodo di test :)
Nikolai

Questo problema sembra essere ancora presente nell'adattatore di test NUnit 3. Vedi la soluzione di Simoyd sull'architettura dell'adattatore di test (x64 vs x86).
Bart

1
Questa è una risposta errata Per eseguire i test, selezionare "Test" -> "Test Settings" -> "Default Processor Architecture" -> "x64"
Andrew Rondeau,

182

Se stai usando un versione NUnit3 + , è disponibile un nuovo adattatore di prova.

Vai su "Strumenti -> Estensioni e aggiornamenti -> Online" e cerca "NUnit3 Test Adapter" e quindi installa.


+1 extra perché questo ha anche risolto il problema con la scomparsa delle metriche di copertura del codice.
Aidanapword,

Se il proxy firewall ha bloccato l'URL tramite estensioni e aggiornamenti, utilizzare questo URL per scaricare l'adattatore. marketplace.visualstudio.com/…
Yawar Murtaza il

Potrebbe essere necessario disabilitare anche l'adattatore di test NUnit2.
Mark Pattison,

Qual è la differenza tra ottenerlo in questo modo e ottenerlo dal gestore di pacchetti NuGet?
Ottaviano,

Usando NuGet avrai accesso all'api di nunit. In questo modo sarai in grado di eseguire i test su Test Explorer (per impostazione predefinita esegue solo MS Test).
Ricardo França,

57

Il mio assembly di test è a 64 bit. Dalla barra dei menu nella parte superiore di Visual Studio 2012, sono stato in grado di selezionare 'Test' -> 'Test Settings' -> 'Default Processor Architecture' -> 'X64'. Dopo una "Ricostruzione della soluzione" dal menu "Creazione", sono stato in grado di visualizzare tutti i miei test in Esplora esplorazioni. Spero che questo aiuti qualcun altro in futuro = D.


3
Assicurati di controllare l'architettura dei tuoi assembly e programmi. Anche se la piattaforma per la soluzione o il progetto potrebbe essere impostata esplicitamente su x64, se l'architettura del test non corrisponde, si verificheranno problemi durante l'esecuzione dei test.
Dodzi Dzakuma,

30

Verificare la mancata corrispondenza delle versioni di NUnit. L'adattatore di test NUnit attualmente disponibile funziona solo per NUnit versione 2.6.4 e precedenti. Per eseguire il downgrade di NUnit dalla versione 3.x, andare alla Console Gestione pacchetti> update-package NUnit -version 2.6.4

http://jeremybytes.blogspot.co.ke/2015/11/review-of-unit-testing-makes-me-faster.html


6
Signore, avete risolto il mio problema con precisione! Grazie! C'è un pacchetto nuget chiamato NUnitTestAdapter.WIthFramework che funziona a meraviglia!
TheAkhemist

Ho avuto un problema simile con la mancata corrispondenza delle versioni di NUnit. Alcuni (ma non tutti) dei miei test non venivano visualizzati in Test Explorer, quindi ho provato tutti i tipi di consigli come l'aggiornamento dell'adattatore di test NUnit. In precedenza avevo aggiornato NUnit dalla 3.6.1 alla 3.7.1 ma per qualche ragione uno dei miei progetti faceva ancora riferimento a nunit.framework.dll versione 3.6.1 mentre tutto il resto faceva riferimento a 3.7.1. Ho aggiornato il riferimento a 3.7.1 e questo ha funzionato. Finora i miei test non sono scomparsi. Dita incrociate!
jrupe,

23

Nella mia situazione, "NUnit3 Test Adapter" è stato disabilitato. Per riattivarlo, vai al menu

Strumenti-> Estensioni e aggiornamenti ...

Sul lato sinistro selezionare "Installato" -> "Tutto".

Nell'angolo in alto a destra cerca "nunit".

Se è installato "NUnit3 Test Adapter", con l'elemento trovato è possibile abilitarlo / disabilitarlo.

inserisci qui la descrizione dell'immagine


2
Per me questo non ha funzionato. Ho provato a disinstallarlo e ha fatto finta di essere andato ma era lì dopo il riavvio. Ho capito che ho installato NUnit come utente standard e poi ho provato a disinstallarlo come amministratore. VS non dice nulla al riguardo ... Quindi la soluzione è provare ad abilitarlo senza i privilegi di amministratore o viceversa.
Tom,

10

Questa risposta sembra piuttosto semplice ma all'inizio non era del tutto ovvia per me. Se (ri) costruisci la soluzione, costruisce solo i progetti che sono configurati per essere compilati inBuild -> Configuration Manager

Questo era il mio problema, devo aver inavvertitamente modificato le impostazioni di configurazione di una build o qualcosa che ha impedito ai miei progetti di test di essere compilati (quando lo erano in precedenza). Quindi la Test Explorerfinestra stava guardando le DLL che erano obsolete. Mi è diventato chiaro che questo è stato il caso dopo aver fatto Cleane visto che la maggior parte dei miei test scompaiono e non tornano dopo un rebuild... un'ulteriore ispezione della bincartella ha mostrato che questi progetti non venivano realizzati affatto.


Sebbene tutti i progetti fossero impostati per essere compilati in Configuration Manager, ho dovuto creare manualmente ogni progetto di test per rendere nuovamente visibili i test.
Noel Widmer,

Ho creato manualmente i miei progetti di test. Non era abbastanza. Ho dovuto fare ciò che diceva questa risposta.
Jared,

10

Avevo una configurazione funzionante (per NUnit2 e NUnit3 a seconda della soluzione e più versioni di Visual Studio tra il 2012 e il 2017) e improvvisamente ha smesso di funzionare un giorno: nessun test rilevato in nessuna soluzione o versione di VS.

Nel mio caso, ha contribuito a eliminare %localappdata%\Temp\VisualStudioTestExplorerExtensions. Dopo un riavvio di VS, tutto ha funzionato come prima.


10

Se si utilizza VS 2017 e .net core , come detto qui , è necessario aggiungere riferimenti al framework di test NUnit 3.6.1 , al test runner NUnit3TestAdapter 3.8.0-alpha1 e all'SDK di test Microsoft.NET.Test.Sdk 15.0.0 .


3
Non sto usando .NET Core, ma l'installazione dell'adattatore di test NUnit quando sono passato a VS2017 ha risolto il problema per me.
Ciaran Gallagher,

8
  1. Utensili
  2. Gestione pacchetti NuGet
  3. Gestire i pacchetti NuGet per la soluzione
  4. Navigare
  5. NUnitTestAdapter.WithFramework
  6. Ctrl + R, A per compilare / eseguire test

inserisci qui la descrizione dell'immagine

L'uso di NUnitTestAdapter.WithFramework assicura che ci siano piccole / nessuna incoerenza tra le versioni di NUnit e NUnit Adapter (ovvero "funziona semplicemente")


per me inizia a funzionare dopo l'aggiornamento dell'adattatore a NUnitAdapter3 (VS Menu -> Strumenti-> Estensioni e aggiornamenti ...) + aggiorna la pagina NuGet per NUnit dalla 2.6.3 alla 3.2.1. Grazie!
Smily

1
questa è l'unica cosa che ha funzionato per me - doveva essere quella "WithFramework" (non solo l'adattatore standard)
Mani5556,

4

Controlla se hai dichiarato [TestFixureSetUp] e [Test]

nella classe di test

campione:

namespace ClassLibrary1
{
   public class SimpleCalculator
   {
      public Calculator _calculator;
      [TestFixtureSetUp]
      public void initialize()
      {
         _calculator = new Calculator();
      }
      [Test]
      public void DivideTest()
      {
         int a = 10;
         int b = 2;
         int expectedValue = a/b;
         int actualValue = _calculator.Divide(a, b);
         Assert.AreEqual(expectedValue, actualValue, "Functionality not working properly!");
      }
   }   
}

1
TestFixtureSetup sembra essere obsoleto, meglio è <NUnit.Framework.OneTimeSetUp>
Jochen

1

Ho dovuto disinstallare e reinstallare il pacchetto nuget xunit.runner.visualstudio. Ho provato questo dopo aver provato tutti i suggerimenti di cui sopra, quindi potrebbe essere stato un misto di cose.


1

Un'altra causa di questo problema è se si apre un progetto da un'unità mappata : Visual Studio gestisce tali progetti correttamente, ma apparentemente Nunit non li supporta.

Copia del progetto su un fisico risolto il problema.


0

Ho anche scoperto che quando ho disinstallato nunit v3.2.1, il riferimento al framework nunit per v3.2.1 era ancora nel mio progetto in Esplora soluzioni. Esplora soluzioni> ProjectName > Riferimenti

Se fai clic con il pulsante destro del mouse, verrà mostrata la versione. Rimuovi questo quindi fai clic destro su Riferimenti> Aggiungi riferimento.

Cerca la versione 2.x versione e aggiungi quindi la soluzione di ricostruzione.

Ha funzionato per me!


0

Ho riscontrato il problema menzionato dall'op

Il mio caso era che mi è stato consegnato un vecchio progetto e i test facevano effettivamente parte del sistema in esame. Presumo che stessero usando il test runner esterno.

questa catena di attività ha risolto il problema per me

  • creato un progetto di prova,
  • spostato lì i file di test
  • aggiunto riferimenti in modo da compilare il progetto di test
  • aggiunto i pacchetti NuGet dell'adattatore Nunit e Nunit al progetto di test
  • ricompilato

sono stato in grado di eseguire con successo i test Nunit.


0

Se si utilizza l' TestCaseSourceattributo, assicurarsi che la fonte esista e rispetti la documentazione , altrimenti i test non verranno rilevati.


0

Ho avuto un problema simile in cui i test non venivano scoperti. Ho avuto la versione corretta di NUnit, le versioni abbinate tra NUnit e l'adattatore e i test sono stati taggati correttamente. Stavo eseguendo VS 2017 Enterprise non come amministratore. Dopo aver avviato VS come amministratore, sono comparsi i test.


0

Ho avviato una nuova soluzione con un progetto di test e l'ho confrontata con il mio progetto originale con problemi. L'originale, per qualche motivo, conteneva un'app.config . Ho escluso quel file dal progetto e ho visto i miei test riapparire nel test explorer.


0

Ho avuto anche questo problema ma la causa era diversa. Sto usando VS2017 con F # 4.0.

Innanzitutto, la console di Visual Studio non fornisce abbastanza dettagli sul motivo per cui non è stato possibile trovare i test; non riuscirà semplicemente a caricare la DLL con i test. Quindi utilizzare NUnit3console.exe dalla riga di comando in quanto ciò fornisce maggiori dettagli.

Nel mio caso, è stato perché l'adattatore di test stava cercando una versione più recente della DLL F # Core (4.4.1.0) (F # 4.1) mentre sto ancora usando 4.4.0.0 (F # 4.0). Quindi l'ho appena aggiunto all'app.config del progetto di test: -

  <dependentAssembly>
    <assemblyIdentity name="FSharp.Core" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="4.4.0.0" />
  </dependentAssembly>

cioè reindirizzare al core F # precedente.


0

Ho avuto lo stesso problema, quando all'improvviso nessun test non è apparso nella finestra Esplora test. Ho la versione aggiornata di "NUnit3TestAdapter"

e dopo molte ricerche e sforzi, ho scoperto che ho bisogno di impostare i seguenti valori nelle proprietà del progetto: [Nella finestra Esplora soluzioni: fare clic con il tasto destro su Progetto> Proprietà] Nella scheda Costruisci, impostare Piattaforma = x64 e impostare Target piattaforma = x86 o Qualsiasi CPU Compilare il progetto e tutti i test verranno visualizzati nella finestra Esplora test.

Nota importante: sono arrivato a una soluzione dopo aver visto il prossimo messaggio nella finestra di output:

"L'esecuzione del test utilizzerà DLL create per Framework Framework45 e la piattaforma X86. Le seguenti DLL non faranno parte dell'esecuzione: AutomationTests.dll è creato per Framework Framework45 e Platform X64."


0

Ho avuto alcuni processi msbuild.exe che sono stati bloccati. Non so se questo fosse il mio problema o no, ma mi ci sono voluti un sacco di tracce ed errori con la reinstallazione di vari adattatori NUnit prima di trovare i processi bloccati.


0

Solo per aggiungere i miei $ 0,02 qui, ho riscontrato un problema simile proprio ieri, in cui mancavano 168 dei miei test. Ho provato quasi tutto in questo post - soprattutto assicurandomi che le mie versioni di NUnit fossero le stesse - tutto inutilmente. Mi sono poi ricordato di aver diviso i miei test in playlist; e questi non si aggiornano automaticamente quando si aggiungono nuovi test . Quindi, quando ho eliminato le playlist, BAM! , tutti i miei test sono tornati ancora una volta.


-1

Assicurarsi che i test siano correttamente contrassegnati con l'attributo Test. Se tutti i test sono contrassegnati solo con l'attributo Explicit, TestAdapter non riconosce l'apparecchiatura.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.