2010-04-16 21 views
13

Al usar VS2010, parece que no puedo agregar métodos de prueba adicionales. Si configuro mi proyecto como esteMSTest No se encontraron nuevas pruebas

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

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

La única prueba que aparece en mi Vista de prueba es Prueba1. ¿Cómo me aseguro de que Test2 ingrese a esa lista?

EDIT: Las pruebas adicionales que no se crearon inicialmente no se agregan a la lista de pruebas. Entonces, si tuviera que agregar Test3 después de ejecutar las pruebas, entonces Test3 no se agregaría.

Respuesta

7

Forma más sencilla: Vuelva a abrir la solución.

También puede abrir su archivo de lista de prueba (el archivo "vsmdi" en su carpeta de Elementos de Solución) y presionar el botón "actualizar" allí.

Una reconstrucción completa de su solución también funciona a veces.

+0

¿Dónde (qué) es el archivo de mi lista de prueba? La reapertura de la solución funcionó, aunque es un dolor hacer eso cada vez que se agrega una prueba. –

+0

En su Solution Explorer, hay una carpeta llamada "Elementos de solución". En esta carpeta, debe haber al menos 2 archivos. Uno que termina en '.testrunconfig', el otro en' .vsmdi'.Los archivos Vsmdi contienen listas de prueba. Abra el archivo vsmdi (simplemente haga doble clic en él). VS mostrará el Editor de la lista de prueba. En la esquina superior izquierda, presiona el botón Actualizar. – mafu

+0

Hmmm, actualizar el archivo vsmdi no funciona. ¿Alguna idea de por qué? –

27

Me encontré con el mismo problema al no descubrir nuevos métodos de prueba después de haber desinstalado ReSharper y actualizado a Visual Studio 2010 SP1.

me ha solucionado el problema por ir a Herramientas> Opciones> Herramientas de prueba> Proyecto de Prueba y sin control "descubrimiento fondo desactivación de métodos de ensayo" .

Trabajó reabriendo la solución pero no haciendo una limpieza completa y reconstruyendo.

+0

Esto funcionó para mí. –

+0

estado buscando todo esto. funciona perfectamente. gracias – echo

+1

MUCHAS GRACIAS !!!!! –

0

Asegúrate de que tus pruebas tengan prefijos como [TestClass] para la clase y [TestMethod] para los métodos. Tuve un caso en el que no me di cuenta de que estaba tratando de ejecutar pruebas escritas en otro marco. En mi caso fue [TestFixture] y [Test].

0

Eliminar el archivo con la extensión '.sln.docstates' que está en la carpeta del proyecto me arregló el problema.

No estoy seguro si es importante, pero también borré todos los archivos en la carpeta TestResults.

Athadu

2

Para mí nada de lo anterior funcionó. Comparé mi archivo csproj con uno que funcionó y agregué las guías de tipo de proyecto del otro proyecto de prueba al que no funcionó.

Así que trate de añadir los GUID de tipo de archivo de proyecto en el que el [TestClass] y [TestMethod] se incluye con un editor de texto:

<?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> 

Después de añadir esto y una actualización en el editor de lista de pruebas que instantáneamente vi mis pruebas y CTRL-RT funcionó.

Saludos, Michael

0

Para mí, borrar archivos de .suo y .SDF relacionados con la solución ayudaron. Inmediatamente después de volver a abrir la solución, las pruebas se encontraban en el Editor de listas.

Cuestiones relacionadas