unitarias - unit test c#
Error al ejecutar pruebas unitarias en Visual Studio: faltan objetos de prueba (7)
Recibo el siguiente error al ejecutar pruebas unitarias desde Visual Studio usando resharper:
Test-case objects missing for the following elements: ... Rebuild the project and try again
En la información sobre herramientas al lado del método de prueba de la unidad dice: Inconclusive: Test not run
y creo que dijo que la Unit test skipped
en un punto. Resharper muestra un icono de ojo gris.
También hay un problema extraño con el Explorador de pruebas de visual studio. No mostrará todas mis pruebas unitarias. De hecho, faltan más de 200 de mis pruebas unitarias. Simplemente no aparecen en la ventana del Explorador de pruebas. Tengo un puñado de pruebas que aparecen y se ejecutarán bien.
Cosas que ya he intentado: reiniciar mi máquina, limpiar, reconstruir, cambiar todos los proyectos dependientes para usar el mismo .net framework 4.7.
Estoy usando VS 2017 .net Framework 4.7, Resharper y MSTest. Todo con las últimas actualizaciones y versiones.
Actualicé MSTest.TestAdapter de 1.1.18 a 1.3.2. Finalmente lo resolvió para mí.
Después de golpearme la cabeza por un día, conseguí que Test Explorer funcionara. Era la plataforma objetivo.
En las propiedades del proyecto de prueba unitaria, en Compilación, tenía el objetivo de la plataforma como x64. Lo cambié a AnyCPU y Test Explorer recogió de inmediato mis pruebas de unidades faltantes. Sin embargo, resharper todavía me está dando el mismo error. Voy a actualizar si encuentro solución para ello. Mientras tanto, al menos puedo ejecutar y depurar mis pruebas de unidad ahora.
Encontré esto cuando uso un proyecto F #. En mi caso, fue la inclusión de corchetes en el nombre del método de prueba lo que causó el problema;
[<TestMethod>]
member x.``E is updated where generic form or visit should include (this) UPDATED VISIT AND FORM``() =
let origExpr = "visit:form:INTQ1AB"
let checkedExpr = "VISIT2:FormFour:INTQ1AB"
...
resultó en una prueba no concluyente mientras que se eliminaron los corchetes alrededor de ''(este)'' como se muestra a continuación
[<TestMethod>]
member x.``E is updated where generic form or visit should include this UPDATED VISIT AND FORM``() =
let origExpr = "visit:form:INTQ1AB"
let checkedExpr = "VISIT2:FormFour:INTQ1AB"
...
Permitió que la prueba se completara exitosamente.
Experimenté este error después de eliminar todos los paquetes de nuget, ya que había cambiado mi versión .net y no necesitaba ninguno de ellos para compilar.
después de volver a instalar el paquete de nuget MSTest.TestAdapter, el remarcado comenzó a ejecutar mis pruebas de unidad nuevamente como se esperaba
Install-Package MSTest.TestAdapter
Mi problema fue usar la configuración de construcción incorrecta.
Mi solución tiene bastantes proyectos y configuraciones de compilación bastante diferentes. Sin querer, seleccioné la configuración incorrecta del proyecto que no se configuró correctamente para incluir el proyecto de prueba que estaba tratando de usar.
Para mí, esto sucedió porque instalé el paquete Nuget para FLEE , esto insertó la siguiente línea en mi archivo app.config de mi proyecto de prueba:
<dependentAssembly>
<assemblyIdentity name="System.Reflection" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0" />
</dependentAssembly>
Como no tengo la versión 4.1.2.0 instalada en mi máquina (tengo 4.0.0.0) en alguna parte, el proyecto de prueba falla con este ''mensaje de error'' muy confuso
Una vez que instalé una versión anterior (1.05) del paquete FLEE (que usa 4.0.0.0) y cambié el número de versión a 4.0.0.0 en el bindingRedirect en mi app.config, todo volvió a ser sensato.
Sé que esto no responderá a la pregunta del OP, ya que él / ella lo ha intentado, pero quizás ayude a alguien más.
Para mí, un simple reinicio de Visual Studio resolvió los objetos de caso de prueba que faltaban para los siguientes elementos: ... Reconstruir el proyecto e intentar nuevamente el problema.