visual studio requisitos para microsoft instalar descargar c# .net visual-studio unit-testing

c# - requisitos - ¿Por qué visual studio 2012 no encuentra mis pruebas?



visual studio installer (30)

Tengo algunas pruebas que utilizan el Microsoft.VisualStudio.TestTools.UnitTesting integrado, pero no puedo hacer que se ejecuten.

Estoy usando Visual Studio 2012 Ultimate.

Tengo una solución de dos proyectos; Uno tiene pruebas, using Microsoft.VisualStudio.TestTools.UnitTesting , [TestClass] antes de la clase, [TestMethod] antes de los métodos de prueba y referencia Microsoft.VisualStudio.QualityTools.UnitTestFramework (versión 10.0.0.0, versión en tiempo de ejecución v2.0.50727). He intentado dot-net framework 3.5, 4 y 4.5 otros dan un error de reorientación.

He tratado de construir la solución y el proyecto. Test Explorer tiene el mensaje `Construye tu solución para descubrir todas las pruebas disponibles. Haga clic en "ejecutar todo" para compilar, descubrir y ejecutar todas las pruebas en su solución.

Entonces la pregunta es: ¿Cómo consigo que Visual Studio encuentre las pruebas?

También intenté seguir esto: http://msdn.microsoft.com/en-US/library/ms379625%28v=VS.80%29.aspx pero sin éxito: me quedo atascado en la sección de inicio, cuando se me pide que lo haga Haga clic derecho y seleccione create tests . No hay create tests .

Tengo esta prueba (se compila, pero no aparece en el explorador de pruebas):

using Microsoft.VisualStudio.TestTools.UnitTesting; namespace tests { [TestClass] public class SimpleTest { [TestMethod] public void Test() { Assert.AreEqual("a","a", "same"); } } }

Ahora he descubierto (vea la respuesta eliminada a continuación) que es porque está en un disco compartido, pero todavía no sé cómo sortearlo. (algo acerca de la configuración de seguridad tal vez).


A veces me dan los mismos síntomas.

Lo que hice es:
1. Cerró la ventana del Explorador de Pruebas.
2. Limpie la solución
3. Reconstruye la solución
4. Se reinició la ventana de Test Explorer desde Test -> Windows -> Test Explorer.

Y tengo mi prueba en la ventana del Explorador de pruebas.


Agregando mi respuesta, ya que este es el mejor resultado en Google para esto.

Estoy usando Visual Studio 2015 y (sin saberlo, acabo de ejecutar Install-Package NUnit ) instalé el paquete NUnit3 NuGet en mi proyecto de prueba. Ya tenía instalada la extensión Adaptador de prueba NUnit, y mis pruebas aún no aparecían.

La instalación del adaptador de prueba NUnit3 a través de Herramientas> Extensiones y actualizaciones solucionó esto para mí.


Dado que el proyecto está en una unidad compartida como lo indica el póster original. VS.NET debe confiar en la ubicación de la red antes de que cargue y ejecute los ensamblajes de prueba. Tener una lectura de esta entrada de blog .

Para permitir que VS.NET cargue elementos de un recurso compartido de red, uno debe agregarlos (recursos compartidos) a ubicaciones confiables. Para agregar una ubicación a una ejecución de la lista de confianza completa (obviamente enmendar según sea necesario para su entorno):

caspol -m -ag 1.2 -url file:///H:/* FullTrust

Para verificar o enumerar las ubicaciones de confianza existentes:

caspol -lg


Descubrí que la mejor manera de solucionar este problema es crear un archivo .proj msbuild y agregar los proyectos de prueba unitaria que tenga un problema en este archivo y ejecutar las pruebas utilizando la versión de línea de comandos de mstest. Encontré un pequeño problema de configuración en mi app.config que solo aparecía al ejecutar las pruebas desde mstest; de lo contrario, el proyecto de prueba funcionó bien. También encontrará cualquier problema de referencia indirecta con este método. Una vez que puede ejecutar la prueba de la unidad desde la línea de comandos usando mstest, puede hacer una solución limpia, reconstruir la solución y su prueba debe descubrirse correctamente.


Desde la barra de menú en la parte superior ...

Prueba -> Ejecutar -> Todas las pruebas

También puede ver todas las pruebas desde Test Explorer (Test -> Windows -> Test Explorer)

Además, con VS 2012, si pierde algo, intente buscarlo utilizando la barra de Inicio rápido en la parte superior derecha (Ctrl + Q) "Test"

Espero que esto ayude.


En mi caso fue algo más. Instalé un paquete y luego lo desinstalé y reinstalé una versión anterior. Eso dejó una configuration/runtime/asssemblyBinding/dependencyIdentity residual configuration/runtime/asssemblyBinding/dependencyIdentity redireccionando en mi app.config. Tuve que corregirlo. Lo descubrí mirando la ventana de Output y seleccionando " Tests " en el menú desplegable. El mensaje de error estaba allí. Esto fue un dolor ... Espero que ayude a alguien más.


En mi experiencia reciente, todo lo anterior no funcionó. Mi método de prueba

public async void ListCaseReplace() { ... }

No estaba apareciendo sino compilando bien. Cuando quité la palabra clave async la prueba se mostró en el Explorador de pruebas. Esto se debe a que async void es un método de "disparar y olvidar". Haga el método de async Task y obtendrá su prueba de nuevo!

Además, el hecho de no tener la configuración del proyecto de prueba configurada en "Generar" también evitará que las pruebas aparezcan. Administrador de configuración> Compruebe su prueba para construir.


Encontré el mismo problema al intentar abrir la solución en un recurso compartido de red en VS2013 Ultimate.

Corrigí el problema encendiendo

Panel de control -> Opciones de Internet -> pestaña "Seguridad" -> Haga clic en "Intranet local", haga clic en los sitios y asegúrese de que la opción "Detectar automáticamente la red de intranet" esté marcada.


Estas son todas respuestas geniales, pero hay una razón más que conozco; Me acabo de encontrar con eso. En una de mis pruebas recibí un mensaje ReSharper que indicaba que tenía una clase privada no utilizada. Era una clase que utilizaré en una próxima prueba. Esto realmente hizo que todas mis pruebas desaparecieran.


Esto a veces funciona.

Verifique que la arquitectura del procesador en el menú Prueba coincida con la que usa para construir la solución.

Prueba -> Configuración de prueba -> Arquitectura del procesador predeterminada -> x86 / x64

Como se mencionó en otras publicaciones, asegúrese de tener abierta la ventana del Explorador de pruebas. Prueba -> Windows -> Explorador de prueba

Luego, la reconstrucción del proyecto con las pruebas debería hacer que las pruebas aparezcan en el Explorador de pruebas.

Editar: Como Ourjamie señaló a continuación, hacer una construcción limpia también puede ayudar. Además de eso, aquí hay una cosa más que encontré:

La casilla de verificación "Crear" no estaba marcada en Configuration Manager para un nuevo proyecto de prueba que había creado bajo la solución.

Vaya a Construir -> Administrador de configuración. Asegúrese de que su proyecto de prueba tiene una casilla de verificación de compilación marcada para todas las configuraciones de la solución y las plataformas de la solución.


Esto es más para ayudar a las personas que terminan aquí en lugar de responder a la pregunta del OP:

Intenta cerrar y volver a abrir Visual Studio, haz el truco por mí.

Espero que esto ayude a alguien.


Experimenté este problema muchas veces cuando trato de construir la solución en una PC diferente.

Estoy usando NUnit y Specflow también. Por defecto, mi proyecto de prueba apunta a X86, pero tengo que cambiar esto a X64. Los pasos son 1. Menú de prueba -> Configuración de prueba - Configuración predeterminada del procesador -> x64. 2. Clean Build 3. Build 4. Si todavía no aparecieron las pruebas. 5. Vaya a Herramientas  Extensiones y actualizaciones y luego instale las bibliotecas NUnit y Specflow 6. Clean Build 7. Build

Entonces generalmente la prueba se mostrará en el Editor de pruebas.


He actualizado VS 2012 a la última actualización. es decir, la actualización del estudio visual 3. Eso solucionó el problema para mí.


Las pruebas no me gustan los métodos asíncronos. P.ej:

[TestMethod] public async void TestMethod1() { TestLib oLib = new TestLib(); var bTest = await oLib.Authenticate(); }

Después de hacer esto:

[TestMethod] public void TestAuth() { TestMethod1(); } public async void TestMethod1() { TestLib oLib = new TestLib(); var bTest = await oLib.Authenticate(); }

Vio la prueba.


Lista de verificación rápida para resolver algunos problemas comunes de prueba. Asegúrate de eso:

  1. La clase de prueba y los métodos de prueba son public
  2. La clase de prueba tiene el atributo [TestClass]
  3. Los métodos de prueba tienen el atributo [TestMethod]

Si esto no funciona, intente limpiar, reconstruir la solución y reiniciar Visual Studio.


Me encontré con el mismo problema al intentar abrir la solución en un recurso compartido de red. En este caso, Test Explorer no detectará ninguna prueba de unidad. La solución resulta ser:

Panel de control -> Opciones de Internet -> pestaña "Seguridad" -> Haga clic en "Intranet" y agregue la dirección IP del servidor o el nombre del host que contiene el recurso compartido de red a la lista de "Sitios".

Después de hacer esto, volví a compilar la solución y ahora aparecieron las pruebas. Esto debería ser bastante similar a la respuesta hecha por @BigT.


Ninguna de las soluciones aquí me ayudó. Las pruebas no se descubrirían para una solución, mientras que otra solución que hace referencia a los mismos proyectos funcionó bien. Finalmente resolví esto eliminando el archivo solutionname.v12.suo.


Para mí la solución fue un poco menos complicada.

Acababa de traer una solución existente a mi máquina (clonada desde gitHub) y no rastreamos los archivos .cs generados automáticamente que creó Visual Studio. (Para cada archivo de características hay un archivo .cs con el mismo nombre)

Abrir la solución sin tener los archivos .cs asociados me permite navegar a los métodos enlazados, por lo que parecía que el flujo de especificaciones estaba correctamente conectado, pero no pude ver los nombres de prueba en el Explorador de pruebas.

Para este problema, simplemente excluyendo los archivos de características del proyecto y luego volviéndolos a incluir, VS forzado a regenerar estos archivos de código generado automáticamente.

Después de eso, pude ver las pruebas en el explorador de pruebas.


Parece que NUnit Framework 2.6.4 no funciona bien con el adaptador de prueba NUnit. En el sitio web se menciona que el adaptador de prueba solo funcionará con NUnit Framework 2.6.3.

Este fue mi problema: 1. Había descargado NUnit y NUnit Test Adapter por separado a través de Nuget en el VS2012. De alguna manera NUnit se actualizó a 2.6.4 De repente, no vi mis casos de prueba enumerados.

Fijar:

  1. Desinstalar el adaptador de prueba Nuget y Nuget

    a. Vaya a Herramientas> Nuget> Gestor de paquete de Nuget> Gestionar paquete de Nuget para solución

    segundo. Listar paquetes instalados

    do. Haga clic en administrar

    re. Desmarca tus proyectos

  2. Instale el adaptador de prueba NUnit incluido el marco NUnit 2.6.3

  3. Limpiar / reconstruir solución

  4. Abra Test> Test Explorer> Ejecutar todo

Veo todos los casos de prueba

Espero que esto ayude


Por favor agregue la palabra clave public a su definición de clase. Su clase de prueba actualmente no es visible fuera de su propio ensamblaje.

namespace tests { [TestClass] public class SimpleTest { [TestMethod] public void Test() { Assert.AreEqual("a","a", "same"); } } }


Recibí el error: "Failed to initialize client proxy: could not connect to vstest.discoveryengine.exe."

Trate de ejecutar Visual Studio como administrador. Eso funcionó para mí.

Hay otra publicación de desbordamiento de pila que discute este error , y la misma solución funciona para ellos. La pregunta sigue siendo por qué esto funciona.


Sé que esta es una pregunta anterior, pero con Visual Studio 2015 tenía problemas en los que no se reconocía mi clase de prueba recién creada. Lo intenté todo. Lo que terminó siendo el problema fue que la clase no estaba "incluida en el proyecto". Solo encontré esto al reiniciar Visual Studio y darme cuenta de que mi clase de prueba no estaba allí. Al mostrar archivos ocultos, lo vi, así como otras clases que había escrito, no se incluyeron. Espero que ayude


Tenía los mismos síntomas, pero bajo diferentes circunstancias.

Tuve que agregar un paso adicional a la solución de Peter Lamberg: limpiar su solución / proyecto.

Mi proyecto unittest apunta x64. Cuando creé el proyecto, originalmente estaba orientado a x86.

Después de cambiar a x64, todas mis pruebas de unidad desaparecieron.

Tuve que ir al Menú de prueba -> Configuración de prueba - Arquitectura predeterminada del procesador -> x64.

Todavía no aparecieron.

Hizo una construcción.

Todavía no apareció.

Finalmente hizo un limpio

Luego aparecieron.

Considero que Clean Solution y Clean son bastante útiles para lograr que las soluciones jueguen a la pelota cuando la configuración haya cambiado. A veces tengo que ir al extremo y eliminar los directorios obj y bin y hacer una reconstrucción.


Tengo Visual Studio 2012 y no pude ver las pruebas en Test Explorer,

Así que instalé lo siguiente: Adaptador de prueba NUnit

Eso solucionó el problema para mí!


Tuve el mismo problema ... En mi caso, fue causado por una propiedad privada TestContext .

Cambiarlo a lo siguiente ayudó:

public TestContext TestContext { get; set; }

Después de limpiar y construir la solución (como se describe en la respuesta de @Ourjamie), los métodos de prueba en la clase de prueba afectada estaban disponibles en el Explorador de prueba.


Tuve el mismo problema, pero un poco diferente.

Estaba usando Visual Studio 2012. Por alguna razón, solo se ejecutaban las pruebas del archivo generado inicialmente. Pero las pruebas en otro archivo no se estaban ejecutando. Probé diferentes soluciones publicadas aquí, no funcionó.

Finalmente, descubrí que tenía un método privado en la clase de prueba, que era el primer método dentro de la clase. Acabo de mover el método privado después de un método de prueba; así que ahora, un método con el atributo [TestMethod] es el primer método dentro de la clase. Extraño, pero ahora funciona.

Espero que esto ayude a alguien algún día.


Tuve este problema al actualizar mi solución de Microsoft Visual Studio 2012 Express for Web a Microsoft Visual Studio 2013.

Creé un proyecto de Pruebas unitarias en 2012, y después de abrir en 2013, el proyecto de Pruebas unitarias no mostraría ninguna prueba en el explorador de pruebas. Cada vez que intentaba ejecutar o depurar las pruebas, fallaba y decía lo siguiente en la ventana de resultados:

Failed to initialize client proxy: could not connect to vstest.discoveryengine.x86.exe

También noté que al depurar las pruebas, estaba lanzando una instancia de Visual Studio 2012. Esto me dio una idea del hecho de que el proyecto de Pruebas de Unidad aún estaba haciendo referencia a 2012. Mirando la referencia del proyecto de prueba, me di cuenta de que estaba apuntando a la Microsoft Visual incorrecta. Studio Unit Test Framework DLL para esta versión de Visual Studio:

C:/Program Files (x86)/Microsoft Visual Studio 11.0/Common7/IDE/PublicAssemblies/Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll

Cambié el número de versión de 11.0 a 12.0:

C:/Program Files (x86)/Microsoft Visual Studio 12.0/Common7/IDE/PublicAssemblies/Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll

Reconstruí todo y esto solucionó el problema: todas las pruebas se encontraron en el Explorador de pruebas y ahora todas las pruebas se encuentran y se ejecutan perfectamente.


Un problema que he encontrado es que las pruebas no se encuentran en el Explorador de pruebas (no aparece nada) si la solución se está ejecutando desde una unidad de red / ubicación de red / unidad compartida

Puedes arreglar esto agregando una variable de entorno.

COMPLUS_LoadFromRemoteSources y establece su valor en 1


Verifique los ensamblajes a los que se hace referencia en busca de ensamblajes que puedan tener "Copia local" configurado como "Falso".

Si su proyecto de prueba se construye en su propia carpeta (bin / Debug por ejemplo) y el proyecto depende de otro ensamblaje y uno de esos ensamblajes en la lista de Referencias se marca Copiar Local = "Falso", el ensamblaje no se puede cargar debido a faltas de dependencias y Sus pruebas no se cargarán después de una construcción.


Verifique que su proyecto de prueba no esté configurado como Retraso de firma solo en las propiedades de su proyecto -> Firma. Si es así, deselecciona y haz una reconstrucción limpia.