2010-04-16 14 views
13

Utilizzando VS2010, non riesco a aggiungere ulteriori metodi di test. Se ho impostato il mio progettoMSTest Non trova nuovi test

[TestMethod] 
public void Test1() 
{ 
    Assert.AreNotEqual(0,1); 
} 

[TestMethod] 
public void Test2() 
{ 
    Assert.AreNotEqual(0,1); 
} 

L'unico test visualizzato nella mia vista di test è Test1. Come posso assicurarmi che Test2 entri in quella lista?

MODIFICA: Altri test non creati inizialmente non vengono aggiunti all'elenco di test. Quindi se dovessi aggiungere Test3 dopo aver eseguito i test, allora Test3 non verrebbe aggiunto.

risposta

7

Il modo più semplice: riaprire la soluzione.

È inoltre possibile aprire il file dell'elenco di test (il file "vsmdi" nella cartella Elementi della soluzione) e premere il pulsante "Aggiorna" lì.

Una ricostruzione completa della soluzione funziona anche a volte.

+0

Dove (cosa) è il mio file di elenco di test? La riapertura della soluzione ha funzionato, anche se è un dolore farlo ogni volta che viene aggiunto un test. –

+0

In Solution Explorer è presente una cartella denominata "Elementi della soluzione". In questa cartella, dovrebbero esserci almeno 2 file. Una che termina in '.testrunconfig', l'altra in' .vsmdi'.I file Vsmdi contengono elenchi di test. Apri il file vsmdi (fai doppio clic). VS mostrerà l'editor della lista dei test. In alto a sinistra, premi il pulsante di aggiornamento. – mafu

+0

Hmmm, l'aggiornamento del file vsmdi non funziona. Qualche idea, perché? –

27

Ho avuto lo stesso problema con la mancata scoperta di nuovi metodi di test dopo aver disinstallato ReSharper e aggiornato a Visual Studio 2010 SP1.

ho risolto il problema andando a Strumenti> Opzioni> Strumenti Test> Test Project e incontrollato "background discovery Disabilita dei metodi di prova" .

Ha funzionato riaprendo la soluzione ma non eseguendo una pulizia completa e la ricostruzione.

+0

Questo ha funzionato per me. –

+0

ha cercato dappertutto per questo. funziona perfettamente grazie – echo

+1

GRAZIE MOLTO !!!!! –

0

Assicurarsi che i test abbiano prefissi come [TestClass] per la classe e [TestMethod] per i metodi. Ho avuto un caso in cui non mi ero reso conto che stavo cercando di eseguire test scritti in un altro framework. Nel mio caso era [TestFixture] e [Test].

0

L'eliminazione del file con estensione '.sln.docstates' nella cartella del progetto ha risolto il problema per me.

Non sono sicuro se è importante, ma ho anche eliminato tutti i file nella cartella TestResults.

Athadu

2

Per me nulla di quanto sopra ha funzionato. Ho confrontato il mio file csproj con quello che funzionava e aggiunto i guidi del tipo di progetto dall'altro progetto di test a quello che non funzionava.

Quindi, cercare di aggiungere i GUID di tipo al file di progetto in cui la [TestClass] e [TestMethod] è incluso con un editor di testo:

<?xml version="1.0" encoding="utf-8"?> 
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 
    <PropertyGroup> 
... 
    <ProjectTypeGuids>{3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> 
    </PropertyGroup> 
... 
</Project> 

Dopo aver aggiunto questo e un aggiornamento nell'editor di lista di prova I Ho visto immediatamente i miei test e CTRL-RT ha funzionato.

saluti, Michael

0

Per me, cancellare dei file .SDF relativi alla soluzione .suo e aiutato. Subito dopo aver riaperto la soluzione, i test erano nell'Editor Elenco.

Problemi correlati