He estado luchando con VS 2017 desde que lo instalé. Ahora parece que las pruebas unitarias sólo se ejecutarán desde la línea de comandos "dotnet test."
Mi proyecto es .NET Core 1.1.1. Tengo el SDK y la actualización del marco para 1.1.1 instalado.
He probado la muestra en MSDN (https://msdn.microsoft.com/en-us/library/ms182532.aspx) que también falla exactamente de la misma manera.
Todos los paquetes NuGet para las pruebas y el proyecto principal están actualizados. Y tanto el proyecto de prueba como el proyecto principal se construyen sin errores. Y las pruebas se ejecutan con éxito desde la línea de comandos.
¿Alguien ha conseguido que las pruebas unitarias se ejecuten en VS 2017, si es así cómo?
Gracias, John
Aquí hay un ejemplo de un proyecto de prueba simple que no funciona en GitHub. Este es un ejemplo con xUnit pero he probado NUnit y visual studio construido en las pruebas de MS. No importa lo que las pruebas o lo que los cambios que hago no puedo conseguir el corredor de pruebas VS para encontrar cualquier prueba.
DEL %TEMP%\VisualStudioTestExplorerExtensions
.Microsoft.DotNet.InternalAbstractions
(ver post SO)test -> test settings -> default processor architecture
se establece en x86La pregunta ¿Puede alguien por favor proporcionar un ejemplo de trabajo de una solución .Net Core 1.1.0 en VS2017 (archivos de proyecto .csproj) donde el explorador de pruebas VS encuentra con éxito las pruebas unitarias O mostrarme el problema en el ejemplo dado.
No lea los artículos obsoletos en MSDN. Los materiales relevantes de .NET Core están en docs.microsoft.com
https://docs.microsoft.com/en-us/dotnet/articles/core/testing/
En general, necesitas una aplicación de consola de .NET Core para contener los casos de pruebas unitarias.
En mi caso, era el proyecto UWP presente en la solución el que causaba el problema.
Cuando descargué el proyecto UWP, se descubrieron las pruebas. Cuando lo cargué de nuevo, las pruebas desaparecieron de nuevo.
Trate de descargar todos los proyectos y mantener el proyecto de prueba solamente. Diez reconstruir la solución y la prueba shound aparecen en Test Runner. Cargue los proyectos uno por uno y reconstruya la solución cada vez para averiguar qué proyecto está causando el problema
El problema es que Visual Studio se está 'confundiendo' con las versiones de dotnet core en la máquina. Cuando fui al panel de control -> desinstalar programas tenía 8 diferentes dotnet core SDK's y Runtimes instalado. Esto de alguna manera estaba causando VS para tener en silencio un error al tratar de encontrar las pruebas.
Usted puede validar la cuestión por ir a la línea de comandos y obtener la versión de dotnet su en $ dotnet --versión
. Si ves cualquier cosa excepto la última versión que tienes instalada, entonces tu máquina tiene algún desajuste y no está usando la versión correcta. Ejemplo... Si tienes instalado dotnet core 1.0.1
pero cuando obtienes la versión en la línea de comandos y dice 1.0.0
eso es un problema.
Elimine todo el material antiguo. Empecé con sólo lo que creía que tenía que eliminar (las versiones más antiguas de dotnet rc) pero seguía dando la versión incorrecta al probar el problema. Al final me decidí a hacer una limpieza completa. I...
Después de que mi máquina estuviera completamente vacía de todo VS y donet instalé sólo VS2017 (viene empaquetado con el último dotnet). Creé un proyecto de prueba xUnit y el explorador de pruebas encontró la prueba inmediatamente SOLVED.
Esto puede parecer una exageración, pero pasé dos semanas tratando de arreglar esto de otras maneras. Si tienes el problema, hazlo, aunque te lleve horas desinstalar/reinstalar elementos, probablemente te ahorrará tiempo.