2011-08-10 18 views
13

Digamos (100% hipotéticamente) que accidentalmente agregué un proyecto de prueba unitaria como tipo de proyecto "Biblioteca de clases" a una solución VS2010. Luego agregué los ensamblajes necesarios para ejecutarlo como un proyecto de Prueba de unidad, pero MSTest no lo detectará cuando pulso "Ejecutar todas las pruebas en solución". ¿Cuáles son los criterios aquí?¿Cómo identifica Visual Studio/mstest los proyectos de prueba?

tuve un par de teorías, que todos han fracasado hasta ahora:

  • algo en el archivo .testsettings (no hay referencias a los ensamblados aquí por lo que yo puedo ver)
  • Algo en el .sln archivo (no se puede encontrar nada)
  • algo en AssemblyInfo.cs (no, no lo es)
  • Implict haciendo referencia a la (...) UnitTestFramwork.dll (no Obv)

¿Alguien?

Respuesta

26

En el archivo de proyecto, hay un elemento XML con el nombre ProjectTypeGuids, que contiene algunos GUID que denotan proyecto de prueba. Ejemplo de la siguiente manera.

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

He aquí una lista de GUID tipo de proyectos conocidos para Visual Studio 2010: http://onlinecoder.blogspot.com/2009/09/visual-studio-projects-project-type.html

En el ejemplo anterior, se nota que el proyecto sea de tipo prueba y de Windows (C#).

+1

Encontré para obtener el ícono del matraz, también necesitaba agregar ' UnitTest' – Ruskin

2
  1. En el Explorador de soluciones, haga clic en el nombre del proyecto y seleccione Unload Proyecto.
  2. A continuación, haga clic con el botón derecho en el nombre del proyecto nuevamente y seleccione Editar ProjectName.csproj.
  3. Localizar los ProjectTypeGuids elemento y el siguiente código. (Si no se encuentra el elemento de ProjectTypeGuids, simplemente insertarlo)

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

  4. Guarde los cambios, haga clic con el botón derecho en el proyecto y luego seleccione Actualizar Proyecto.

3

En caso de que ayude a alguien, tuve el problema opuesto: agregué un proyecto como Pruebas unitarias erróneamente. Para cambiar el tipo a una Biblioteca de clases normal, eliminé las etiquetas ProjectTypeGuids mencionadas en las demás respuestas, presumiblemente VS devolvió las correctas.

Cuestiones relacionadas