2012-08-29 21 views
6

En una solución existente agregué un nuevo proyecto de prueba. En mi archivo .cs de Test Project tengo una clase decorada con el atributo [TestClass] y un método decorado con el atributo [TestMethod]. He verificado que en Configuration Manager, la casilla de verificación de compilación está marcada para el Proyecto de prueba (ya que mi búsqueda en Google ha revelado que era el problema para los demás con este problema). Establecí Test Project como mi proyecto inicial para la solución. Cuando intento comenzar la prueba, aparece "No se puede iniciar el proyecto de prueba porque el proyecto no contiene ninguna prueba". Soy realmente nuevo en pruebas unitarias. ¿Qué me estoy perdiendo?Visual Studio 2010 no reconoce la prueba de unidad

[TestClass] 
public class UnitTest1 
{ 
    [TestMethod] 
    public void TestMethod1() 
    { 
     Whole bunch of stuff 
     Assert.Inconclusive("Done"); 
    } 
} 

Actualización: Así que abrí una nueva instancia de VS, fui a File => New => Project => Test Project. No tocó ni editó nada. Fue directamente al archivo cs y aquí están sus contenidos en su totalidad:

using Microsoft.VisualStudio.TestTools.UnitTesting; 

namespace TestProject2 
{ 
public class Inspection 
{ 
    public bool SubmitInsp() 
    { 
     return true; 
    } 
} 

[TestClass] 
public class UnitTest1 
{ 
    [TestMethod] 
    public void TestMethod1() 
    { 
     Inspection insp = new Inspection(); 
     bool result = insp.SubmitInsp(); 

     Assert.IsTrue(result); 
    } 
} 
} 

mismo error sobre el proyecto no contiene ninguna prueba cuando trato de iniciarlo. También encontré esto en el resultado de compilación "No se pudo cargar el archivo o el ensamblaje" ~ \ mis documentos \ visual studio 2010 \ Projects \ TestProject2 \ bin \ Debug \ TestProject2.dll o una de sus dependencias. La operación no es compatible. (Excepción de HRESULT: 0x80131515) "

No sé que las pruebas de unidades son mucho más simples que esto. ¿Qué diablos?

+0

¿Todavía puede ejecutar la prueba unitaria seleccionándola y ejecutándola? P. ej. Si hace clic derecho en el método de prueba real (en su archivo .cs) y selecciona 'Ejecutar prueba', ¿funciona entonces? –

+0

¿Puedes publicar tu clase de prueba? Me encontré con esto antes, y creo que fue un problema de sintaxis. – timmy

+0

@CiaranG Cuando lo hago, no recibo ningún error. Pero la prueba en realidad no hace lo que debería, así que intenté ponerle un punto de interrupción para descubrir por qué. Cuando trato de depurar, todo se desarrolla pero hay un signo de exclamación sobre el punto de interrupción que dice que nunca se golpeará porque "No se han cargado símbolos para este documento" – jmease

Respuesta

1

Los proyectos de prueba guardados en una carpeta de red o en cualquier lugar localmente en mi computadora tienen este problema. Creé otro Test Project y lo guardé en mi unidad flash, funciona bien. No sé si es porque mi máquina es de 64 bits o porque es una máquina virtual o qué, pero supongo que solo necesito probar todo en dispositivos de almacenamiento externos.

5

pude conseguir que esto funcione modificando el archivo de configuracióndevenv.exe encontrado aquí:

C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe.config.

Agregue la línea siguiente a la sección <runtime>, a continuación, reinicie Visual Studio:

<loadFromRemoteSources enabled = "true" /> 

(Aquí es el link que me ayudó)

+0

Tengo mi entorno de desarrollo en VMware VM sobre Windows Server 2008 R2 (entonces es de 64 bits). Mi código está en una unidad de red (bueno, está en una carpeta compartida asignada a una letra de unidad). ¡Este consejo resolvió mi problema! – Colin

+0

Tuve el mismo problema debido a mis archivos de Proyecto de prueba ubicados en una carpeta de red. Esto resolvió mi problema. – Otiel

5

que he tenido el mismo problema, cuando las pruebas en una proyecto de prueba de trabajo de repente ya no se reconoció.

Al comparar el archivo de proyecto con una de otro proyecto de prueba de trabajo me mostró que el <ProjectTypeGuids> nodo faltaba en el nodo principal <PropertyGroup>.

La adición de esta línea dentro del nodo > < PropertyGroup resuelto mi problema:

C#:

<ProjectTypeGuids>{3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> 

VB:

<ProjectTypeGuids>{3AC096D0-A1C2-E12C-1390-A8335801FDAB};{F184B08F-C81C-45F6-A57F-5ABD9991F28F}</ProjectTypeGuids> 
2

El FrstCBC's anwser no funcionó para mí. Estoy en una máquina VirtualBox con Windows 7 64 bits y Visual Studio 2012.

tuve que mover la salida de una carpeta local: abrir las propiedades del proyecto unidad de pruebas y en la pestaña Construir, navegar por la ruta de salida en una carpeta local. Las pruebas ahora se detectan y se pueden ejecutar.

+0

Gracias, esto funcionó para mí –

1

Para mí, simplemente era que mi clase y mi método no eran public (me doy cuenta de que el póster tenía public, pero encontré este post en Google "faltando los iconos de testmlass test margin"). Estúpido error de mi parte, pero tal vez ayudará a otros.

0

Verifique que todos los archivos .cs estén marcados como Compilar en la ventana Propiedades. Si está marcado como Contenido, entonces tocará este problema.

Cuestiones relacionadas