Las pruebas de la unidad NUnit no se muestran en Test Explorer con el adaptador de prueba instalado

145

Instalé el Adaptador de prueba NUnit para VS2012 + 2013. Cuando instalé por primera vez, aparecían las pruebas del Adaptador, pero hoy dejaron de aparecer por alguna razón. Después de construir, reconstruir, limpiar, reiniciar, nada aparece en Test Explorer. ¿Por qué estaría pasando esto? Estoy usando VS2013 Ultimate.

RobVious
fuente
2
Intente hacer clic derecho en su proyecto de prueba y luego haga clic en ejecutar. Volverá a llenar las ventanas con las pruebas nuevamente.
Chase Florell
@ChaseFlorell no lo hace. Veo que la barra verde en Test Explorer comienza a desaparecer y luego se detiene una fracción de segundo más tarde.
RobVious
¿Tiene alguna otra herramienta de prueba que pueda estar interfiriendo? Uso R # para ejecutar mis pruebas, y estoy usando VS2012, por lo que no conozco su entorno lo suficientemente bien. Sé que cuando cerré la ventana o ejecuté un pequeño subconjunto de pruebas, el árbol de pruebas completo desaparece.
Chase Florell
Podría intentar descargar el proyecto de prueba, reconstruirlo y luego volver a cargarlo ...
Chase Florell
@ChaseFlorell Tengo R # pero es lento como la melaza con las pruebas de NUnit ... y funcionaba antes, lo cual es frustrante. Intentaré descargar.
RobVious

Respuestas:

87

Si su proyecto de prueba está configurado para apuntar a una plataforma de 64 bits, las pruebas no se mostrarán en el Adaptador de prueba NUnit.

Brannon
fuente
54
Es posible que deba coincidir con la arquitectura especificada en el menú en Prueba -> Configuración de prueba -> Arquitectura de procesador predeterminada
Brannon
66
@Brannon lo hace. Si está configurado en x64, las pruebas en proyectos x64 son visibles.
Básico
2
Aquí ha sucedido algo mucho más estúpido: olvidé agregar el atributo [Prueba] a mi método de prueba :)
Nikolai
Este problema todavía parece estar presente en el adaptador de prueba NUnit 3. Consulte la solución de Simoyd con respecto a la arquitectura del adaptador de prueba (x64 frente a x86).
Bart
1
Esta es una respuesta incorrecta. Para ejecutar las pruebas, seleccione "Prueba" -> "Configuración de prueba" -> "Arquitectura de procesador predeterminada" -> "x64"
Andrew Rondeau
182

Si está utilizando una versión NUnit3 + , hay un nuevo adaptador de prueba disponible.

Vaya a "Herramientas -> Extensiones y actualizaciones -> En línea" y busque "Adaptador de prueba NUnit3" y luego instálelo.

Ricardo França
fuente
Extra +1 porque esto también solucionó el problema con la desaparición de las métricas de Cobertura de código.
Aidanapword
Si el proxy del firewall ha bloqueado la url a través de Extensiones y Actualizaciones, utilice esta url para descargar el adaptador. marketplace.visualstudio.com/…
Yawar Murtaza
Tenga en cuenta que también puede necesitar deshabilitar el adaptador de prueba NUnit2.
Mark Pattison el
¿Cuál es la diferencia entre obtenerlo de esta manera y obtenerlo del administrador de paquetes NuGet?
octaviano
Usando NuGet tendrás acceso a la API de Nunit. De esta manera, podrá ejecutar las pruebas en el Explorador de pruebas (de forma predeterminada, solo ejecuta la Prueba de MS).
Ricardo França
57

Mi ensamblaje de prueba es de 64 bits. Desde la barra de menú en la parte superior de Visual Studio 2012, pude seleccionar 'Prueba' -> 'Configuración de prueba' -> 'Arquitectura de procesador predeterminada' -> 'X64'. Después de una 'Reconstruir solución' del menú 'Construir', pude ver todas mis pruebas en el explorador de pruebas. Esperemos que esto ayude a alguien más en el futuro = D.

Simoyd
fuente
3
Asegúrese de verificar la arquitectura de sus ensamblados y programas. Aunque la plataforma para su solución o proyecto podría establecerse explícitamente en x64, si su arquitectura de prueba no coincide, tendrá problemas para ejecutar las pruebas.
Dodzi Dzakuma
30

Verifique que las versiones de NUnit no coincidan. El adaptador de prueba de NUnit actualmente disponible solo funciona para NUnit versión 2.6.4 y posteriores. Para degradar NUnit de la versión 3.x, vaya a Package Manager Console> update-package NUnit -version 2.6.4

http://jeremybytes.blogspot.co.ke/2015/11/review-of-unit-testing-makes-me-faster.html

collo
fuente
66
¡Señor, ha resuelto mi problema con precisión! ¡Gracias! ¡Hay un paquete nuget llamado NUnitTestAdapter.WIthFramework que funciona de maravilla!
TheAkhemist
Tuve un problema similar con las versiones de NUnit no coinciden. Algunas (pero no todas) de mis pruebas no se mostraban en Test Explorer, así que probé todo tipo de recomendaciones, como actualizar el adaptador de prueba NUnit. Anteriormente había actualizado NUnit de 3.6.1 a 3.7.1, pero por alguna razón uno de mis proyectos todavía hacía referencia a nunit.framework.dll versión 3.6.1, mientras que todo lo demás hacía referencia a 3.7.1. Actualicé la referencia a 3.7.1 y esto funcionó. Hasta ahora mis pruebas no han desaparecido. ¡Dedos cruzados!
jrupe
23

En mi situación, el 'Adaptador de prueba NUnit3' ha sido desactivado. Para volver a habilitarlo, vaya al menú

Herramientas-> Extensiones y actualizaciones ...

En el lado izquierdo, seleccione 'Instalado' -> 'Todos'.

En la esquina superior derecha, busque 'nunit'.

Si tiene instalado el 'Adaptador de prueba NUnit3', con el elemento encontrado puede habilitarlo / deshabilitarlo.

ingrese la descripción de la imagen aquí

sahl04
fuente
2
Para mí esto no funcionó. Intenté desinstalar y fingí desaparecer, pero estaba allí después del reinicio. Descubrí que instalé NUnit como usuario estándar y luego intenté desinstalarlo como administrador. VS no dice nada sobre esto ... Entonces, la solución es intentar habilitarlo sin privilegios de administrador o viceversa.
Tom
10

Esta respuesta parece bastante básica, pero al principio no era completamente obvia para mí. Si (re) compila la solución, solo compila los proyectos que están configurados para compilar en elBuild -> Configuration Manager

Este fue mi problema, debo haber cambiado involuntariamente una configuración de configuración de compilación o algo que causó que mis proyectos de prueba no se compilaran (cuando anteriormente lo eran). Así que la Test Explorerventana estaba mirando dlls que estaban desactualizados. Me quedó claro que este era el caso después de hacer Cleany ver que la mayoría de mis pruebas desaparecían y no volvían después de una rebuild... inspección adicional de la bincarpeta mostró que estos proyectos no se estaban construyendo en absoluto.

MoMo
fuente
Aunque todos los proyectos se configuraron para compilarse en el Administrador de configuración, tuve que compilar manualmente cada proyecto de prueba para que las pruebas volvieran a aparecer.
Noel Widmer
Construí manualmente mis proyectos de prueba. Eso no fue suficiente. Tenía que hacer lo que decía esta respuesta.
Jared
10

Tenía una configuración funcional (para NUnit2 y NUnit3 dependiendo de la solución, y varias versiones de Visual Studio entre 2012 y 2017), y de repente dejó de funcionar un día: no se detectaron pruebas en ninguna solución o versión de VS.

En mi caso, ayudó a eliminar %localappdata%\Temp\VisualStudioTestExplorerExtensions. Después de reiniciar VS, todo funcionó como antes.

realMarkusSchmidt
fuente
10

Si está utilizando VS 2017 y .net core , como se dijo aquí , debe agregar referencias al marco de prueba NUnit 3.6.1 , al corredor de prueba NUnit3TestAdapter 3.8.0-alpha1 y al SDK de prueba Microsoft.NET.Test.Sdk 15.0.0 .

Arvand
fuente
3
No estoy usando .NET Core, pero la instalación del adaptador de prueba NUnit cuando me mudé a VS2017 resolvió el problema por mí.
Ciaran Gallagher
8
  1. Herramientas
  2. NuGet Package Manager
  3. Administre los paquetes NuGet para la solución
  4. Vistazo
  5. NUnitTestAdapter.WithFramework
  6. Ctrl + R, A para construir / ejecutar pruebas

ingrese la descripción de la imagen aquí

El uso de NUnitTestAdapter.WithFramework asegura que haya poca o ninguna inconsistencia entre las versiones de NUnit y NUnit Adapter (es decir, "simplemente funciona")

brntsllvn
fuente
para mí comienza a funcionar después de actualizar el adaptador a NUnitAdapter3 (Menú VS -> Herramientas-> Extensiones y actualizaciones ...) + actualizar la página NuGet para NUnit de 2.6.3 a 3.2.1. ¡Gracias!
sonriente
1
esto es lo único que funcionó para mí: tenía que ser el "WithFramework" (no solo el adaptador estándar)
Mani5556
4

Compruebe si ha indicado [TestFixureSetUp] y [Test]

en la clase de prueba

muestra:

namespace ClassLibrary1
{
   public class SimpleCalculator
   {
      public Calculator _calculator;
      [TestFixtureSetUp]
      public void initialize()
      {
         _calculator = new Calculator();
      }
      [Test]
      public void DivideTest()
      {
         int a = 10;
         int b = 2;
         int expectedValue = a/b;
         int actualValue = _calculator.Divide(a, b);
         Assert.AreEqual(expectedValue, actualValue, "Functionality not working properly!");
      }
   }   
}
Indika Wijesooriya
fuente
1
TestFixtureSetup parece estar obsoleto, mejor es <NUnit.Framework.OneTimeSetUp>
Jochen
1

Tuve que desinstalar y luego reinstalar el paquete xunit.runner.visualstudio nuget. Intenté esto después de probar todas las sugerencias anteriores, por lo que puede ser una mezcla de cosas.

JayC
fuente
1

Otra causa de este problema es si abre un proyecto desde una unidad asignada : Visual Studio maneja dichos proyectos correctamente, pero aparentemente Nunit no los admite.

Copiar el proyecto a un físico solucionó el problema.

Adelin
fuente
0

También descubrí que cuando desinstalé nunit v3.2.1, la referencia del marco nunit para v3.2.1 todavía estaba en mi proyecto en el explorador de soluciones. Explorador de soluciones> Nombre del proyecto > Referencias

Si hace clic derecho, se mostrará la versión. Elimine esto Luego haga clic derecho en Referencias> Agregar referencia.

Busque la versión 2.x y agregue la solución de reconstrucción.

Eso funcionó para mí!

RShome
fuente
0

Experimenté el problema mencionado por op

Mi caso fue que me entregaron un proyecto antiguo y las pruebas eran en realidad parte del sistema bajo prueba. Supongo que estaban usando el corredor de prueba externo.

esta cadena de tareas resolvió el problema por mí

  • creó un proyecto de prueba,
  • movió los archivos de prueba allí
  • referencias agregadas para que el proyecto de prueba compilara
  • Se agregaron los paquetes NuGet del adaptador Nunit y Nunit al proyecto de prueba
  • recompilado

pude ejecutar con éxito las pruebas de Nunit.

Greg
fuente
0

Si está utilizando el TestCaseSourceatributo, asegúrese de que la fuente exista y respete la documentación ; de lo contrario, no se descubrirán sus pruebas.

Adelin
fuente
0

Tuve un problema similar donde las pruebas no se descubrieron. Tenía la versión correcta de NUnit, las versiones coinciden entre NUnit y el adaptador, y las pruebas se etiquetaron correctamente. Estaba ejecutando VS 2017 Enterprise no como administrador. Después de iniciar VS como administrador, aparecieron las pruebas.

Robert Strickland
fuente
0

Comencé una nueva solución con un proyecto de prueba y la comparé con mi proyecto original problemático. El original, por alguna razón, tenía una app.config en él. Excluí ese archivo del proyecto y vi reaparecer mis pruebas en el explorador de pruebas.

Emmet Brickowski
fuente
0

También tuve este problema, pero la causa fue diferente. Estoy usando VS2017 con F # 4.0.

En primer lugar, la consola en Visual Studio no le brinda suficientes detalles sobre por qué no se pudieron encontrar las pruebas; simplemente fallará al cargar la DLL con las pruebas. Por lo tanto, use NUnit3console.exe en la línea de comandos, ya que esto le brinda más detalles.

En mi caso, fue porque el adaptador de prueba estaba buscando una versión más nueva de F # Core DLL (4.4.1.0) (F # 4.1) mientras que todavía estoy usando 4.4.0.0 (F # 4.0). Así que acabo de agregar esto a la app.config del proyecto de prueba: -

  <dependentAssembly>
    <assemblyIdentity name="FSharp.Core" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="4.4.0.0" />
  </dependentAssembly>

es decir, redirigir al núcleo anterior de F #.

Russ Freeman
fuente
0

Tuve el mismo problema, cuando de repente no apareció ninguna prueba en la ventana de Test Explorer. Tengo la versión actualizada de "NUnit3TestAdapter"

y después de muchas búsquedas y esfuerzos, descubrí que necesito establecer los siguientes valores en las propiedades del proyecto: [En la ventana del Explorador de soluciones: haga clic con el botón derecho en Proyecto> Propiedades] En la pestaña Generar, configure Plataforma = x64 y configure Plataforma objetivo = x86 Cualquier CPU Construye el proyecto y todas las pruebas aparecerán en la ventana del Explorador de pruebas.

Nota importante: llegué a una solución después de ver el siguiente mensaje en la ventana de salida:

"La ejecución de prueba utilizará DLL (s) creadas para Framework Framework45 y plataforma X86. Las siguientes DLL no formarán parte de la ejecución: AutomationTests.dll está creado para Framework Framework45 y Platform X64".

C. Mar
fuente
0

Tuve algunos procesos msbuild.exe que se colgaron. No sé si ese fue mi problema o no, pero me llevó mucho rastro y error al reinstalar varios adaptadores NUnit antes de encontrar los procesos bloqueados.

Andrew Rondeau
fuente
0

Solo para agregar mis $ .02 aquí, me encontré con un problema similar ayer, donde faltaban 168 de mis pruebas. Intenté casi todo en esta publicación, especialmente asegurándome de que mis versiones de NUnit fueran las mismas, todo en vano. Entonces recordé que tenía mis pruebas divididas en listas de reproducción; y estos no se actualizan automáticamente cuando agrega nuevas pruebas . Entonces, cuando borré las listas de reproducción, ¡BAM! , todas mis pruebas volvieron una vez más.

Brian
fuente
-1

Asegúrese de que sus pruebas estén marcadas correctamente con el atributo Prueba. Si todas las pruebas están marcadas solo con el atributo Explícito, TestAdapter no reconoce el dispositivo.

Shea Leslein
fuente