Estoy en el proceso de actualizar nuestra solución existente a .Net 4.6.1 y no he podido ejecutar nuestras pruebas unitarias durante la compilación del servidor. Localmente, se ejecutan como se esperaba y voltear la versión del marco de nuevo a .Net 4.5.1 hace que se ejecuten nuevamente en el servidor.
Estoy teniendo el siguiente error:
No se encontró ninguna prueba. Asegúrese de que los descubridores y ejecutores de pruebas instalados, la plataforma y la configuración de la versión del marco sean los adecuados y vuelva a intentarlo.
He reproducido el problema en una configuración más simple:
- Solución con un solo proyecto de prueba unitaria de C # con dos pruebas (una que falla y otra que pasa).
- Definición de compilación XAML con la plantilla predeterminada (TfvcTemplate.12.xaml)
- Servidor de compilación XAML de TFS 2015 Update 1 con Visual Studio Enterprise 2015 Update 1 instalado (tiene seis servidores similares y todos producen el mismo resultado)
unit-testing
tfs
build
tfs-2015
Tore Østergaard
fuente
fuente
Respuestas:
Puede intentar cambiar la arquitectura de su procesador predeterminado en su configuración de prueba de X86 a X64. En mi caso este fue el problema.
Esto sucede si el destino de la plataforma de su proyecto bajo prueba está configurado en
x64
.fuente
Mi construcción tampoco encontró las pruebas. Mi configuración y solución para encontrar las pruebas son las siguientes.
Utilizo VSTS (Visual Studio Team Services) y tengo una compilación que está configurada para actualizar los paquetes NUGET en cada compilación. Estoy usando NUnit y descubrí que ejecutar el siguiente comando NUGET (desde la consola del administrador de paquetes en Visual Studio) para agregar la biblioteca NUnitTestAdapter a mi proyecto de prueba y la verificación de packages.config hizo que las pruebas se ejecutaran en mi compilación VSTS.
Como Maurice menciona en el comentario de esta publicación para NUnit3, use el siguiente paquete NUGET (busque otras utilidades en el enlace, es decir, dotnet CLI y Paket CLI)
Espero que esto ayude.
fuente
En mi caso, tuve que:
1) convertir proj de prueba a netcore 2.0 (era netstandard 2.0)
2) agregue el paquete nuget
xunit.runner.visualstudio
Referencia: http://www.neekgreen.com/2017/11/20/xunit-no-test-is-available/
fuente
Recibí este error y pude resolverlo.
fuente
Estoy usando MSTest. Para mí, la versión no coincide y falta otro paquete dependiente :
1) La carpeta de mi paquete contiene solo el paquete MSTest.TestFramework.1.2.1. En mi archivo de proyecto (.csproj), la referencia en el Nombre de destino era el paquete MSTest.TestAdapter.1.2.0 que no estaba presente en la carpeta del paquete. Mi packages.config también tiene una referencia de MSTest.TestFramework.1.2.0.
2) Así que instalé MSTest.TestAdapter.1.2.0 desde el administrador de paquetes nuget y alineé la versión MSTest.TestFramework a 1.2.0 en el proyecto y el archivo del paquete. Finalmente agrego Microsoft.VisualStudio.TestPlatform.TestFramework y Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions en la referencia.
Entonces todo estuvo bien. Espero que esto ayude a alguien.
fuente
Este problema vuelve a surgir para Visual Studio 2017. Probablemente otro error pero el mismo resultado.
Una solución alternativa que parece funcionar es desinstalar Microsoft Visual Studio 2017 Remote Debugger de la máquina afectada.
fuente
fuente
Me encontré con el mismo problema en VSTS con .Net 4.6.2. Si está viendo esto en la salida de su consola VSTS, la solución alternativa proporcionada por @Sushil todavía funciona en VSTS y es necesaria. Desafortunadamente, la tarea "Probar ensamblados" proporcionada por Microsoft pasa, por lo que realmente ni siquiera sabe que hay un problema a menos que verifique el resultado y no encuentre ninguna de sus pruebas realmente ejecutada.
fuente
Si está ejecutando sus pruebas dentro de la ventana acoplable utilizando la compilación de varias etapas y no se encuentran las pruebas. Asegúrese de copiar todos los archivos, no solo los archivos del proyecto, como se muestra en la sección Dockerfile.
fuente
Solucioné esto por problema en el proyecto de prueba VS 2017 y 4.6.2 con los siguientes pasos:
fuente
Asegúrese de tener instalado el nuget "Microsoft.NET.Test.Sdk".
fuente
Este es un problema conocido para .Net 4.6 ahora.
Aquí hay una pregunta similar para su referencia: No se pueden ejecutar las pruebas unitarias de .Net 4.6 del servidor de compilación XAML de TFS 2015
fuente
He arreglado este problema mediante la reinstalación de todas las pruebas relacionadas con los paquetes NuGet para el proyecto:
Xunit
,Xunit.runner.vistualstudio
,Microsoft.Net.Test.Sdk
fuente
Estaba teniendo un problema similar y noté que de alguna manera se
app.config
había agregado un archivo a mi proyecto de prueba. Al eliminar este archivo de configuración, me lo arregló.fuente
Arrojaré mi solución al montón. En mi caso, estoy agregando un par de proyectos a una solución existente junto con proyectos de prueba para ellos. Estamos usando MSTest. Había un archivo UnitTest.testsettings anterior habilitado en la solución que estaba causando problemas de compatibilidad.
Al hacer clic en el archivo de configuración, se eliminó la verificación y la ejecución de la prueba fue exitosa para mis pruebas.
fuente
¡Encontre una forma! Probablemente no sea el más ortodoxo, pero me ayudó a toda prisa:
No creo que sea nada particular con la versión, pero actualizarla ciertamente limpia cualquier referencia que sea mala en la solución / proyecto.
fuente
Esto es solo para recapitular la solución presentada por @Sushil anteriormente.
Este es un problema conocido en Team Foundation Server 2015 RTM + Update 1 y se solucionará en la referencia de la Actualización 2 .
Hay una solución alternativa descrita por @Sushil aquí , que incluye agregar un archivo .runsettings que obliga al corredor de prueba a un marco .Net más antiguo (no tenga que especificarlo a través del cuadro de diálogo "Agregar / Editar ejecución de prueba" como agregarlo directamente en el editor de proceso de construcción se ignorará).
fuente
Al usar .Net Core con una canalización de compilación en TFS 2017, mi paso de prueba de Visual Studio estaba pasando sin ejecutar ninguna prueba. Tuve que editar el paso, "Opciones de ejecución avanzadas" -> "Otras opciones de la consola" para incluir:
(Ese campo también contiene
/platform:x64
)fuente
En Visual Studio 2017, simplemente desinstalo y reinstalo NUnitTestAdapter o instalo un nuevo paquete como NUnitTestAdapter.WithFramework paquete y el problema desapareció.
fuente
Recibí este error porque mi clase de prueba unitaria no era pública.
Ex:
class ClientTests
Error en la salida:
...\bin\Debug\Tests.dll] UTA001: TestClass attribute defined on non-public class ClientTests
Corrección:
public class ClientTests
fuente
Tengo el mismo problema. Estoy usando Visual Studio 2017 Community Edition.
Utilicé estos pasos para descubrir con éxito todos mis casos de prueba y ejecutarlos correctamente:
Primero vaya a Extensiones y actualizaciones, instale NUnit3 Test Adapter. Si ya lo ha hecho, habilítelo.
Reinicie su Visual Studio 2017, automáticamente le pedirá que
instale su extensión, si un mensaje dice que finalice la tarea para continuar con la
instalación, simplemente haga clic en "Finalizar tarea".
Después de eso, reconstruya su Proyecto de prueba y ahora se identificarán todos los casos de prueba y ahora puede comenzar a ejecutar sus casos de prueba.
fuente
En mi caso, reinstalar el adaptador Nunit3, eliminar carpetas temporales, cambiar la arquitectura y nada funcionó. Es debido a que Daemon Resharper causó el problema.
Eso resuelve los problemas.
fuente
Este error puede ocurrir para pruebas asíncronas si tiene el tipo de retorno incorrecto. El tipo de retorno debe ser Tarea y no anular.
fuente
Después de agregar TestAdapterPath en el comandante, funcionó para mí:
fuente
En mi caso, las pruebas se descubrieron, pero la ejecución dio como resultado "Prueba no disponible ... " y el (in) famoso: "Asegúrese de que el descubridor y ejecutores de la prueba estén registrados y que la configuración de la versión de plataforma y marco sea adecuada y vuelva a intentarlo".
el error fue independiente de Visual Studio (probado desde las herramientas de la CLI de dotnet y la prueba UNit casi desnuda) y fue solo cuando se apuntó a .NET 4.7.1. La aplicación dotnetcore funciona bien.
también la ejecución de pruebas con Nuint3 CLI
nunit3-console.exe Tests.csproj
muestra el error:"O bien el ensamblaje no contiene pruebas o no se ha encontrado el controlador de prueba adecuado".
el error se debió a que el adaptador de prueba no se pudo encontrar en una unidad de red (mapeada) o en un recurso compartido y se resolvió copiándolo localmente y volviéndolo a ejecutar.
fuente
Si ya instaló un adaptador de prueba en el proyecto de prueba, intente desinstalarlo del proyecto e instálelo nuevamente en el proyecto de prueba.
Esta solución básica funciona para mí.
fuente
Pruebe a ejecutar
vstest.console.exe
con--diag:diag.txt
e inspeccionar la salida. Para mí, fueron fallas de carga de DLL para adaptadores de prueba desde mi directorio de trabajo:TpTrace Information: 0 : 14976, 1, 2020/03/10, 15:34:22.120, 57158093583, vstest.console.exe, AssemblyResolver.OnResolve: Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter: Failed to load assembly. Reason:System.IO.FileLoadException: Could not load file or assembly 'file:///C:\Directory\Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.dll' or one of its dependencies. Operation is not supported. (Exception from HRESULT: 0x80131515)
File name: 'file:///C:\Directory\Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.dll' ---> System.NotSupportedException: An attempt was made to load an assembly from a network location which would have caused the assembly to be sandboxed in previous versions of the .NET Framework. This release of the .NET Framework does not enable CAS policy by default, so this load may be dangerous. If this load is not intended to sandbox the assembly, please enable the loadFromRemoteSources switch. See http://go.microsoft.com/fwlink/?LinkId=155569 for more information.
Trabajé alrededor de esto agregando
<loadFromRemoteSources enabled="true"/>
debajo<runtime>
en vstest.console.exe.configfuente
Yo uso MSTest.
Instalé desde Nuget la última versión de MSTest.TestFramework y reemplacé OOB Eliminar referencias a Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll
Luego instalado desde neget la última versión de Microsoft.TestPlatform
Me permitió ejecutar la prueba con un comando:
Pero tengo el mismo error. La causa raíz del error es que no especifiqué un adaptador de prueba que analiza el ensamblaje y encuentra pruebas.
Solución:
Instale un paquete nuget "MSTest.TestAdapter"
Especifique un adaptador de prueba al final de un comando:
/TestAdapterPath:".\packages\MSTest.TestAdapter.2.1.2\build_common "
fuente
Para aquellos que enfrentan un problema similar. Aquí está la solución, instale SpecFlowPlusRunner.
He intentado otras soluciones como reinstalar, eliminar el caché, etc. Pero la solución es realmente diferente, necesitamos instalar SpecRun.SpecFlow2.3.0 para visualstudio 2017. Esto ha resuelto el problema.
Espero que esto ayude a todos.
fuente
Enfrenté un problema similar cuando probé nUnit en VS 2017 y no es un proyecto principal. La instalación
NUnit3TestAdapter
solucionó el problema.fuente