Perché Visual Studio 2012 non trova i miei test?


221

Ho alcuni test che utilizzano il built-in Microsoft.VisualStudio.TestTools.UnitTesting, ma non riesco a farli funzionare.

Sto usando Visual Studio 2012 Ultimate.

Ho una soluzione di due progetti; Uno ha le prove, using Microsoft.VisualStudio.TestTools.UnitTesting, [TestClass]prima della classe, [TestMethod]prima che i metodi di prova e di riferimento Microsoft.VisualStudio.QualityTools.UnitTestFramework(versione 10.0.0.0, versione runtime v2.0.50727). Ho provato dot-net framework 3.5, 4 e 4.5 altri a dare un errore di re-targeting.

Ho provato a costruire la soluzione e il progetto. Test Explorer ha il messaggio `Crea la tua soluzione per scoprire tutti i test disponibili. Fai clic su "Esegui tutto" per compilare, scoprire ed eseguire tutti i test nella tua soluzione.

Quindi la domanda è: come posso ottenere Visual Studio per trovare i test?


Ho anche provato a seguire questo: http://msdn.microsoft.com/en-US/library/ms379625%28v=VS.80%29.aspx ma senza successo: rimango bloccato nella sezione per iniziare, quando mi viene chiesto di fare clic con il tasto destro e selezionare create tests. Non c'è create tests.


Ho questo test (si compila, ma non si presenta in test explorer):

using Microsoft.VisualStudio.TestTools.UnitTesting;

namespace tests {
    [TestClass]
    public class SimpleTest {
        [TestMethod]
        public void Test() {
            Assert.AreEqual("a","a", "same");
        }
    }
}

Ora ho scoperto (vedi la risposta eliminata di seguito) che è perché si trova su un'unità condivisa, ma non so ancora come aggirarlo. (qualcosa sull'impostazione di sicurezza forse).


Quale versione VS 2012? È possibile scaricare un test runner come TestDriven.Net o ce n'è uno in Resharper.
Brett Allred,

Sto usando Visual Studio 2012 Ultimate.
ctrl-alt-delor,

Per favore, condividi la versione del framework e la versione della libreria UnitTest che hai aggiunto come riferimento
Adil

5
Nel mio caso la rimozione del file app.config ha risolto l'esplorazione dell'unità test unit
Chris Richner,

4
Prova a cercare gli errori nella categoria "Test" nella finestra di output. Creo test funzionali dalla build di rilascio e quando provo a eseguire il debug utilizzando la build di debug (le cui DLL si trovano in una struttura di cartelle diversa), non ottengo errori di compilazione, ma devo cercare i test dal menu a discesa. Una volta risolti quelli, i test iniziano ad apparire in Test Explorer
gDexter42

Risposte:


227

Ho avuto gli stessi sintomi, ma in circostanze diverse.

Ho dovuto aggiungere un ulteriore passaggio alla soluzione di Peter Lamberg: pulire la soluzione / progetto.

Il mio progetto unittest ha come obiettivo x64. Quando ho creato il progetto, inizialmente era destinato a x86.

Dopo essere passato a x64 tutti i test delle mie unità sono scomparsi.

Ho dovuto andare al menu Test -> Impostazioni test - Architettura del processore predefinito -> x64.

Non si sono ancora presentati.

Ha fatto una build.

Non si è ancora presentato.

Finalmente ha fatto un Clean

Poi si sono presentati.

Trovo Clean Solution e Clean molto utili per far sì che le soluzioni giochino a palla quando le impostazioni sono cambiate. A volte devo andare all'estremo ed eliminare le obje bindirectory e fare una ricostruzione.


Mentre fare una pulizia a volte aiuta, non è il problema. Ho un problema con i progetti su unità di rete. E il fatto che build aiuti sempre è solo un sintomo di uno strumento di buggy build.
ctrl-alt-delor,

7
Wow! La "soluzione pulita" sembra davvero funzionare (al contrario di ricostruire tutto). Pensavo che questo non fosse più un trucco utile in Visual Studio 6.0!
Dave,

"Clean" non ha funzionato per il mio collega che ha avuto questo problema. Ha funzionato per lei dopo aver eliminato tutto il codice sorgente dal suo spazio di lavoro TFS e averlo aggiornato (con sovrascrittura). Quindi ha funzionato alla grande!
Michael R,

2
Questo è stato per me. In una soluzione con mix di x86, Any CPU, x64, i test di un particolare progetto non sono stati trovati. Ho pulito la soluzione, modificato l'architettura predefinita dell'impostazione di test, ricostruito e quindi tutto è stato visto. Non ha davvero senso, dal momento che cambiando l'architettura sono stati scoperti i test compilati con una diversa architettura della CPU.
Ben H,

2
Proprio quando ho cambiato il processore predefinito - tutti i miei test hanno mostrato. Grazie mille per questo!
Dan Ma il

160

Aggiungi la parola chiave public alla definizione della tua classe. La tua classe di test non è attualmente visibile al di fuori del proprio assembly.

namespace tests {
    [TestClass]
    public class SimpleTest {
        [TestMethod]
        public void Test() {
            Assert.AreEqual("a","a", "same");
        }
    }
}

24
L'ho fatto per me, quasi imbarazzante, non l'ho scoperto da solo :)
landi

5
Ho avuto anche questo problema, il mio era causato [TestMethod]dall'essere statico a causa di un copia-incolla di altro codice.
Seph

2
@Seph: I miei erano [TestMethod]statici perché era quello che UserTest1.csavevano nel nuovo progetto di test! Risolto anche il mio problema.
Andre Luus,

4
Inoltre, non mettere staticdavanti al tuo metodo. Non so perché lo faccio per abitudine così spesso.
levininja,

1
Lo ha fatto per me, interessante il modo in cui puoi perdere così tanto tempo su qualcosa che avrebbe dovuto essere così ovvio. Grazie per la risposta Joe King
Thulani Chivandikwa,

58

Questo a volte funziona.

Verificare che l'architettura del processore nel menu Test corrisponda a quella utilizzata per creare la soluzione.

Test -> Impostazioni test -> Architettura processore predefinita -> x86 / x64

Come menzionato in altri post, assicurati di avere la finestra Esplora test aperta. Test -> Windows -> Test Explorer

Quindi la ricostruzione del progetto con i test dovrebbe far apparire i test in Test Explorer.

Modifica: come sottolineato da Ourjamie di seguito, anche fare una build pulita può aiutare. Inoltre, ecco un'altra cosa che ho riscontrato:

La casella di controllo "Build" è stata deselezionata in Configuration Manager per un nuovo progetto di test che avevo creato sotto la soluzione.

Vai a Build -> Configuration Manager. Assicurati che il tuo progetto di test abbia la casella di controllo build selezionata per tutte le configurazioni e piattaforme della soluzione.


Sì, questi potrebbero essere altri motivi per cui non funzionerà, ma vedi sotto la risposta barrata per il motivo per cui non ha funzionato per me. (le cartelle condivise sono disabilitate per impostazione predefinita), se puoi dirci come modificarlo, ti darò alcuni punti.
ctrl-alt-delor

Non esiste un processore come un x64, ma penso che microsoft usi questo termine per x86-64 / amd64 / x86e. Non c'è nemmeno x86, solo la famiglia x86. La x sta per l'ignoto, quindi i membri della famiglia x64 sarebbero 164, 264, 364 ... O x86 era un processore a 86 bit.
ctrl-alt-delor

grazie per la tua risposta, mi aiuta (sono passato dalle build x86 alle build x64)
enguerran,

Anche in VS 2015 la finestra di Test Explorer aperta ha funzionato. Sono contento di poter anche eseguire test dalla riga di comando.
Bryan,

32

Ho Visual Studio 2012 e non ho potuto vedere i test in Test Explorer,

Quindi ho installato quanto segue: NUnit Test Adapter

Ciò ha risolto il problema per me!


1
Disponibile anche tramite NuGetInstall-Package NUnitTestAdapter
Darren Hale,

Grazie @DarrenHale. Durante la ricerca di questo pacchetto in NuGet, ho anche trovato un pacchetto chiamato NUnit TestAdapter incluso NUnit 2.6.4 Framework .
ray

18

Nella mia recente esperienza tutto quanto sopra non ha funzionato. Il mio metodo di prova

public async void ListCaseReplace() { ... }

non si presentava ma si stava compilando bene. Quando ho rimosso la asyncparola chiave, il test è apparso in Test Explorer. Questo è perché la causa async voidè un metodo di "fuoco e dimentica". Crea il metodo async Taske riavrai il test!

Inoltre, non avere la configurazione del progetto Test impostata su "Build" impedirà la visualizzazione dei test. Configuration Manager> Controlla il tuo test per compilare.


2
Mi ci è voluto molto tempo per capirlo. Ho refactored alcuni metodi per essere asincrono e ho appena aggiunto la parola chiave ai test. Solo quando ho codificato un nuovo test unit con questo ho notato che mancavano anche gli altri test. Ho trovato questa risposta che spiega perché questo accada.
julealgon,

12

Poiché il progetto si trova su un'unità condivisa, come indicato dal poster originale. VS.NET deve fidarsi della posizione della rete prima di caricare ed eseguire i gruppi di test. Leggi questo post sul blog .

Per consentire a VS.NET di caricare elementi di una condivisione di rete, è necessario aggiungerli (condivisioni) in percorsi attendibili. Per aggiungere una posizione a un elenco completo di fiducia (ovviamente modificare come richiesto per l'ambiente):

 caspol -m -ag 1.2 -url file:///H:/* FullTrust

Per verificare o elencare percorsi attendibili esistenti eseguiti:

 caspol -lg

Questa risposta non è verificata dall'interrogante, poiché non ho più interesse per la risposta. Se funziona per te (o no), quindi aggiungi un commento qui sotto.
ctrl-alt-delor,

6
@richard Quindi accetti una risposta che non hai verificato e declassare altre risposte che descrivono soluzioni per diverse cause del tuo problema? ....Quello è strano!
Stephan Bauer,

1
Questo si è rivelato essere il problema per me, ma non la soluzione. Ho spostato tutto in locale e sono stati trovati tutti i test! Grazie!
Travis Swientek,

1
CasPol.exepuò essere trovato sotto %windir%\Microsoft.NET\Framework[64]\[version]. Verificare che si stiano impostando i criteri per l'architettura corretta. Fonte: msdn.microsoft.com/en-us/library/cb6t8dtz%28v=vs.100%29.aspx
EpicVoyage

Questo è stato anche il problema per me. Così fastidioso che VS non le raccolse, ma non diede indicazioni sulla causa!
kaybee99,

10

Un problema che ho riscontrato è che i test non vengono trovati in Test Explorer (non viene visualizzato nulla) se la soluzione è in esecuzione da un'unità di rete / percorso di rete / unità condivisa

È possibile risolvere questo problema aggiungendo una variabile di ambiente.

COMPLUS_LoadFromRemoteSources e imposta il suo valore su 1


6

Ho avuto lo stesso problema .. Nel mio caso è stato causato da una proprietà privata TestContext .

Modificarlo con il seguente aiuto:

public TestContext TestContext
{
    get;
    set;
}

Dopo aver pulito e creato la soluzione (come descritto nella risposta di @Ourjamie), i Test Explorer erano disponibili in Test Explorer.


OK stessi sintomi, quindi rimuoverà il voto negativo, se chiarisci cosa hai cambiato (da cosa).
ctrl-alt-delor

1
Ho avuto esattamente lo stesso, ho seguito il thread completo, poi sono arrivato a questo e mi ha portato all'idea di renderlo pubblico, bingo: sono comparsi i miei nuovi test. Capisco i commenti precedenti ma ... poiché questo ci porta da Google ... questo è il thread da leggere quando i test non vengono visualizzati.
Edelwater,

1
Questa è stata la causa del mio problema. Avevo un campo per l'interfaccia di dipendenza come campo privato. Sei un salvavita!
Alex,

6

Ho riscontrato lo stesso problema durante il tentativo di aprire la soluzione su una condivisione di rete. In questo caso nessun test unit verrà rilevato da Test Explorer. La soluzione risulta essere:

Pannello di controllo -> Opzioni Internet -> scheda "Sicurezza" -> Fai clic su "Intranet" e aggiungi l'indirizzo IP del server o il nome host che contiene la condivisione di rete all'elenco "Siti".

Dopo aver fatto ciò, ho ricompilato la soluzione e ora sono comparsi i test. Questo dovrebbe essere abbastanza simile alla risposta fatta da @BigT.


6

Elenco di controllo rapido per la risoluzione di alcuni problemi di test comuni. Assicurati che:

  1. Classe di prova e metodi di prova sono public
  2. La classe di test ha un [TestClass]attributo
  3. I metodi di prova hanno [TestMethod]attributo

Se ciò non aiuta, provare a pulire, ricostruire la soluzione e riavviare Visual Studio.


Ciò risolverà i problemi della maggior parte dei visitatori di questa domanda e sintetizzerà la maggior parte delle risposte, tuttavia non copre il problema nella domanda.
ctrl-alt-delor

1
Grazie. UTA001: TestClass attribute defined on non-public class
Jarek Przygódzki,

6

Stavo ottenendo l'errore: "Failed to initialize client proxy: could not connect to vstest.discoveryengine.exe."

Prova a eseguire Visual Studio come amministratore. Questo ha funzionato per me.

C'è un altro post di Stack Overflow che discute questo errore e la stessa soluzione funziona per loro. Rimane la domanda sul perché funzioni.


3
Ha funzionato anche per me! Penso che questo sia un problema separato.
Justin Morgan,

2
Ehi, questo funziona amico. Grazie mille .. Qualche soluzione alternativa per farlo funzionare senza essere eseguito come amministratore?
Sriram Sakthivel,

2
Spiacente, non penso che correre come amministratore sia una buona soluzione. A meno che la prova che questo sia l'unico modo.
ctrl-alt-delor

L'esecuzione come amministratore di solito non è un grosso problema. Ma uno dei problemi è che non puoi inviare Workitem a Outlook.
Edward Olamisan,

Modificata la tua risposta per collegarti a un post SO correlato, spero che non ti dispiaccia. Sono d'accordo con Sriram e Richard però. Sebbene funzioni, è una soluzione alternativa, non una soluzione. Perché non funzioni affatto sembra poco chiaro.
Steven Jeuris,

4

A volte ho gli stessi sintomi.

Quello che ho fatto è:
1. Chiuso la finestra Esplora test
2. Pulita la soluzione
3. Ricostruisci la soluzione
4. Riavvia la finestra Esplora test da Test -> Windows -> Esplora test.

E ho ottenuto il mio test nella finestra Esplora test.


Non penso che questo sia lo stesso problema.
ctrl-alt-delor,

3
Penso che sia È lo stesso problema, è solo causato da qualcos'altro.
Stephan Bauer,

2

Dalla barra dei menu in alto ...

Test -> Esegui -> Tutti i test

Puoi anche visualizzare tutti i test da Test Explorer (Test -> Windows -> Test Explorer)

Inoltre con VS 2012, se perdi qualcosa, prova a cercarlo utilizzando la barra di avvio veloce in alto a destra (Ctrl + Q) "Test"

Spero che questo ti aiuti.


Ci ho provato, entrambi funzionano con nunit. Ma questa volta sto cercando di eseguire i test di qualcun altro scritti usando Microsoft.VisualStudio.TestTools.UnitTesting, hai idea di cos'altro sto facendo di sbagliato?
ctrl-alt-delor,

Non fa alcuna differenza ... A volte capita di non scoprire unit test ... quindi se apri test explorer e costruisci una soluzione, ti farà apparire unit test in un attimo ... Potresti già saperlo. ..
Adil,

2
Volevo solo assicurarmi che stavi usando una versione express o una che non includesse strumenti di test. Hai provato a installare un test runner di terze parti?
Brett Allred,

2

Ho trovato il modo migliore per risolvere questo problema è creare un file msbuild .proj e aggiungere i tuoi progetti di unit test che stai riscontrando un problema in questo file ed eseguire i test usando la versione da riga di comando di mstest. Ho riscontrato un piccolo problema di configurazione nel mio app.config che è apparso solo quando ho eseguito i test da mstest, altrimenti il ​​progetto di test è stato realizzato correttamente. Inoltre troverai anche problemi di riferimento indiretto con questo metodo. Una volta che è possibile eseguire il test unità dalla riga di comando utilizzando mstest, è possibile eseguire una soluzione pulita, ricostruire la soluzione e il test deve essere scoperto correttamente.


nel mio caso app.config ha anche ucciso l'aspetto del test unitario. Dopo aver eliminato app.config e ricostruito il progetto di test, sono finalmente tornati!
Chris Richner,

2

Nel mio caso era qualcos'altro. Avevo installato un pacchetto, quindi disinstallarlo e reinstallare una versione precedente. Ciò ha lasciato un configuration/runtime/asssemblyBinding/dependencyIdentityreindirizzamento residuo nella mia app.config. Ho dovuto correggerlo. L'ho capito guardando la Outputfinestra e selezionando " Tests" nel menu a discesa. Il messaggio di errore era lì. Questo è stato un dolore ... Spero che aiuti qualcun altro.


2

Questo è di più per aiutare le persone che finiscono qui piuttosto che rispondere alla domanda del PO:

Prova a chiudere e riaprire Visual Studio, ha fatto il trucco per me.

Spero che questo aiuti qualcuno.


2

So che questa è una domanda più vecchia ma con Visual Studio 2015 stavo riscontrando problemi in cui la mia classe di test appena creata non veniva riconosciuta. Ho provato di tutto. Ciò che alla fine è stato il problema è che la classe non è stata "inclusa nel progetto". Ho trovato questo solo al riavvio di Visual Studio e notando che la mia classe di test non era lì. Dopo aver mostrato i file nascosti, l'ho visto, così come altre classi che avevo scritto, non erano inclusi. spero che aiuti


2

Ho riscontrato questo problema molte volte quando provo a creare la soluzione su un PC diverso.

Sto usando anche NUnit e Specflow. Per impostazione predefinita, il mio progetto di test ha come obiettivo X86, ma devo cambiarlo in X64. I passaggi sono 1. Menu Test -> Impostazioni test - Architettura processore predefinito -> x64. 2. Clean Build 3. Build 4. Se ancora i test non sono stati visualizzati. 5. Vai su Strumenti  Estensioni e aggiornamenti, quindi installa le librerie NUnit e Specflow 6. Clean Build 7. Build

Quindi di solito il test viene visualizzato in Test Editor.


@srebella Bene, hai risolto questo problema. Ho trascorso giorni a risolvere questo problema. Condividi la tua esperienza con la community. Per favore, metti questa risposta in alto se ritieni che funzioni. Grazie :-)
Shiran Jayawardena,

1

Ho aggiornato VS 2012 all'ultimo aggiornamento. cioè l'aggiornamento di Visual Studio 3. Ciò ha risolto il problema per me.


1

Per me la soluzione era solo un po 'meno complicata.

Avevo appena introdotto una soluzione esistente sulla mia macchina (clonata da gitHub) e non monitoriamo i file .cs generati automaticamente che Visual Studio ha creato. (Per ogni file di funzionalità esiste un file .cs con lo stesso nome)

L'apertura della soluzione senza avere i file .cs associati in realtà mi consente di navigare verso i metodi associati, quindi sembrava che lo specflow fosse cablato correttamente, ma non ero in grado di visualizzare i nomi dei test in Esplora test.

Per questo problema, semplicemente escludendo i file delle caratteristiche dal progetto e quindi includendoli nuovamente, ha costretto VS a rigenerare questi file codebehind generati automaticamente.

Successivamente, sono stato in grado di visualizzare i test nell'esploratore di test.


1

Ho riscontrato questo problema durante l'aggiornamento della mia soluzione da Microsoft Visual Studio 2012 Express per Web a Microsoft Visual Studio 2013.

Avevo creato un progetto di Unit Tests nel 2012 e dopo l'apertura nel 2013 il progetto Unit Test non avrebbe mostrato alcun test nell'esploratore dei test. Ogni volta che ho provato a eseguire o eseguire il debug dei test ha avuto esito negativo, dicendo quanto segue nella finestra di output:

    Failed to initialize client proxy: 
    could not connect to vstest.discoveryengine.x86.exe

Ho anche notato che durante il debug dei test stava lanciando un'istanza di Visual Studio 2012. Questo mi ha fatto capire che il progetto Unit Tests faceva ancora riferimento al 2012. Guardando il riferimento al progetto di test mi sono reso conto che stava prendendo di mira Microsoft Visual sbagliato Studio Unit Test Framework DLL per questa versione di Visual Studio:

C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\PublicAssemblies\Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll

Ho cambiato il numero di versione da 11.0 a 12.0:

C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\PublicAssemblies\Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll

Ho ricostruito tutto e questo ha risolto il problema: tutti i test sono stati trovati in Test Explorer e ora tutti i test sono stati trovati e funzionano perfettamente.


1

Verifica che il tuo progetto di test non sia impostato su Ritarda l'accesso solo nelle proprietà del progetto -> Firma. Se lo è, deselezionalo e fai una ricostruzione pulita.


o salta semplicemente il controllo della firma sul tuo computer locale sn -Vr *,<public key token>come amministratore nel prompt dei comandi dello sviluppatore VS
Silas

1

Ho riscontrato lo stesso problema durante il tentativo di aprire la soluzione su una condivisione di rete in VS2013 Ultimate.

Ho corretto il problema accendendo

Pannello di controllo -> Opzioni Internet -> scheda "Sicurezza" -> Fai clic su "Intranet locale", fai clic sui siti e assicurati che "Rileva automaticamente rete intranet" sia selezionato.


1

Queste sono tutte ottime risposte, ma c'è un'altra ragione che conosco; L'ho appena incontrato. In uno dei miei test ho ricevuto un messaggio ReSharper che indicava che avevo una classe privata inutilizzata. Era una lezione che userò in un prossimo test. Ciò ha effettivamente fatto scomparire tutti i miei test.


1

Controllare gli assembly referenziati per eventuali assembly che potrebbero avere "Copia locale" impostato su "Falso".

Se il progetto di test viene compilato nella propria cartella (bin / Debug per esempio) e il progetto dipende da un altro assembly e uno di quegli assembly nell'elenco Riferimenti è contrassegnato come Copia locale = "Falso", l'assembly non può essere caricato a causa di dipendenze mancanti e i test non verranno caricati dopo una build.


1

Sembra che NUnit Framework 2.6.4 non funzioni bene con NUnit Test Adapter. Nel sito Web indica che l'adattatore di test funziona solo con NUnit Framework 2.6.3.

Questo era il mio problema: 1. Avevo scaricato NUnit e NUnit Test Adapter separatamente tramite Nuget nel VS2012. In qualche modo NUnit è stato aggiornato alla 2.6.4 Improvvisamente non ho visto i miei casi di test elencati.

fix:

  1. Disinstallare l'adattatore Nuget e Nuget Test

    un. Vai su Strumenti> Nuget> Nuget Pkg manager> Gestisci Nuget Pkg per soluzione

    b. Elenca i pacchetti installati

    c. Fai clic su Gestisci

    d. Deseleziona i tuoi progetti

  2. Installa NUnit Test Adapter incluso NUnit 2.6.3 Framework

  3. Soluzione pulita / ricostruita

  4. Apri Test> Esplora test> Esegui tutto

Vedo tutti i casi di test

Spero che questo ti aiuti


1

Nessuna delle soluzioni qui mi ha aiutato. I test non sarebbero stati scoperti per una soluzione mentre un'altra soluzione che fa riferimento agli stessi progetti ha funzionato bene. Alla fine l'ho risolto eliminando il file solutionname.v12.suo.


1

Ho avuto lo stesso problema, ma un po 'diverso.

Stavo usando Visual Studio 2012. Per qualche ragione, erano in esecuzione solo i test del file generato inizialmente. Ma i test in un altro file non erano in esecuzione. Ho provato diverse soluzioni pubblicate qui, non ha funzionato.

Alla fine ho capito che avevo un metodo privato nella classe test che era il primo metodo all'interno della classe. Ho appena spostato il metodo privato dopo un metodo di prova; così ora, un metodo con [TestMethod]attributo è il primo metodo all'interno della classe. Strano, ma ora funziona.

Spero che questo aiuti qualcuno un giorno.


1

Ai test non piacciono i metodi asincroni. Per esempio:

    [TestMethod]
    public async void TestMethod1()
    {
        TestLib oLib = new TestLib();
        var bTest = await oLib.Authenticate();

    }

Dopo aver fatto questo:

    [TestMethod]
    public void TestAuth()
    {
        TestMethod1();
    }

    public async void TestMethod1()
    {
        TestLib oLib = new TestLib();
        var bTest = await oLib.Authenticate();

    }

Ha visto il test.


Una risposta migliore è[Test] public void XamarinExampleTest() { // This workaround is necessary on Xamarin, // which doesn't support async unit test methods. Task.Run(async () => { // Actual test code here. }).GetAwaiter().GetResult(); }
Robert Green MBA,

3
"I test non amano i metodi asincroni " è falso . "I test non amano i metodi vuoti asincroni " è vero e la soluzione è semplicemente dichiarare un metodo di prova come attività asincrona .
Massimiliano Kraus,

1

Aggiungendo la mia risposta in quanto questo è il miglior risultato su Google per questo.

Sto usando Visual Studio 2015 e (inconsapevolmente - ho appena corso Install-Package NUnit ) installato il pacchetto NuGet NUnit3 nel mio progetto di test. Avevo già installato l'estensione NUnit Test Adapter e i miei test non venivano ancora visualizzati.

L'installazione dell'adattatore di test NUnit3 tramite Strumenti> Estensioni e aggiornamenti ha risolto questo problema per me.

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.