2013-10-23 8 views
5

Recentemente ho installato Visual Studio 2013 e CodeLens è incredibile! Il problema che trovo è che ogni volta che apro un file di classe che ha dei metodi al suo interno, sembra che non trovi i Test unitari associati al metodo se non è scritto in MSTest. C'è qualcosa che devo fare in modo che possa trovare altri test unitari come MSpec?CodeLens trova solo test scritti in MSTests

enter image description here

È perché Specifiche della macchina ha un approccio diverso per la creazione di test di unità vs MSTest o altri framework di test là fuori?

+0

testato da e gli indicatori di stato del test richiedono che i metodi siano rilevati (in modo che appaia un indicatore di riferimento) e corrispondano con il test explorer. MSpec si integra con test explorer? –

+0

Non penso di no, a meno che non utilizzi un adattatore di prova MSpec in modo che venga integrato con l'esploratore di prova. –

risposta

3

Gli indicatori di stato testati e test sono alimentati dall'esploratore di test.

Quindi, se i test MSpec compaiono nell'esploratore di prova e sono scritti in C# o VB, devono essere visualizzati anche in CodeLens.

(stessa risposta Visual Studio 2013 feature Code Lens with NUnit)

ho appena fatto con NUnit su una macchina pulita installando Nunit e l'estensione Nunit in Extension Manager. Qui Main mostra un test di riferimento e uno di passaggio e il test stesso mostra il segno di spunta dopo l'esecuzione corretta.

enter image description here

+0

Non è vero però. Installare gli adattatori di prova per altri framework di test mostreranno altri framework di test nell'esploratore di test ma CodeLens non mostrerà i riferimenti –

+0

aggiunto foto e dettagli aggiornati. hai un caso specifico in cui non funziona? Non ho mai visto mspec, se il codice sorgente non è C# o VB, quindi non funzionerà, dato che codelens attualmente funziona solo con i sorgenti vb e C#. –

1

ho fatto la stessa cosa che John Gardner ha mostrato nella sua risposta, ad eccezione ho diviso in 2 progetti (per imitare il set up che stavo lavorando con nella mia vera soluzione). All'inizio non funzionava anche se potevo vedere i test in Test Explorer. Dopo un po 'di ricerche, mi sono imbattuto nella risposta giusta per la mia situazione.

Si scopre che è necessario:

(1) Creare un progetto di test nuova unità (non una libreria di classi)

(2) Aggiungere NUnit riferimento al progetto Unit Test (io ho usato NuGet) e hanno l'adattatore di prova NUnit installato VS2013

(3) Spostare i test per questo nuovo progetto

(4) Una volta che si salva e costruire, ora si può tornare al codice di produzione e vedere la " x/y passing "e vedi i test unitari nel Test Expl finestra dell'oratore.

La maggior parte di noi che utilizza NUnit da molto tempo viene utilizzata per creare librerie di classi per il nostro codice anziché per Unit Test Projects. Sarebbe bello se la documentazione di CodeLens riguardasse direttamente questo aspetto (la documentazione afferma "Gli indicatori di stato del test compaiono automaticamente nei progetti di test", che era il mio indizio).

Problemi correlati