¿Por qué Visual Studio 2012 no encuentra mis pruebas?

221

Tengo algunas pruebas que usan el incorporado Microsoft.VisualStudio.TestTools.UnitTesting, 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 que los métodos de prueba y de referencia Microsoft.VisualStudio.QualityTools.UnitTestFramework(versión 10.0.0.0, la versión de 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 intentado construir la solución y el proyecto. El explorador de pruebas tiene el mensaje `Cree su 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 puedo obtener un estudio visual para encontrar las pruebas?


También he tratado de 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 Haga clic derecho y seleccione create tests. No existe create tests.


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

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 se debe a que está en un disco compartido, pero todavía no sé cómo solucionarlo. (algo sobre la configuración de seguridad tal vez).

ctrl-alt-delor
fuente
¿Qué versión VS 2012? Puede descargar un corredor de prueba como TestDriven.Net o hay uno en Resharper.
Brett Allred el
Estoy usando Visual Studio 2012 ultimate.
ctrl-alt-delor
Comparta la versión de marco y la versión de la biblioteca de UnitTesting que ha agregado como referencia
Adil el
55
En mi caso, la eliminación del archivo app.config solucionó el explorador de pruebas unitarias
Chris Richner
44
Intente buscar errores en la categoría 'Prueba' en la ventana de resultados. Creo pruebas funcionales a partir de la compilación de lanzamiento y cuando intento depurar usando la compilación de depuración (cuyos archivos DLL se encuentran en una estructura de carpetas diferente), no obtengo ningún error de compilación, pero tengo que buscar en las pruebas desde el menú desplegable. Una vez que los
resuelvo

Respuestas:

227

Tuve los mismos síntomas, pero en diferentes circunstancias.

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

El objetivo de mi proyecto unittest es x64. Cuando creé el proyecto, originalmente estaba dirigido a x86.

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

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

Todavía no aparecieron.

Hizo una construcción.

Aún no apareció.

Finalmente hice una limpieza

Luego aparecieron.

Encuentro que Clean Solution y Clean son bastante útiles para obtener las soluciones para jugar a la pelota cuando la configuración ha cambiado. A veces tengo que ir al extremo y eliminar las objy los bindirectorios y hacer una reconstrucción.

Ourjamie
fuente
Si bien hacer una limpieza a veces ayuda, no es el problema. Tengo un problema con proyectos en unidades de red. Y el hecho de que la compilación siempre ayuda es solo un síntoma de una herramienta de compilación defectuosa.
ctrl-alt-delor
77
¡Guauu! La "Solución limpia" realmente parece funcionar (en lugar de simplemente reconstruir todo). ¡Pensé que esto dejó de ser un truco útil en Visual Studio 6.0!
Dave
"Limpio" no funcionó para mi compañero de trabajo que tenía este problema. Funcionó para ella después de eliminar todo el código fuente de su espacio de trabajo TFS y obtener la última versión (con sobrescritura). Entonces funcionó muy bien!
Michael R
2
Esto fue para mí. En una solución con una combinación de x86, Cualquier CPU, x64, no se encontraron pruebas de un proyecto en particular. Limpié la solución, cambié la arquitectura predeterminada de la configuración de prueba y la reconstruí y luego todo se pudo ver. Realmente no tiene sentido, ya que al cambiar la arquitectura se descubrieron pruebas compiladas bajo una arquitectura de CPU diferente.
Ben H
2
Justo cuando cambié el procesador predeterminado, se mostraron todas mis pruebas. ¡Muchas gracias por esto!
Dan But
160

Agregue la palabra clave public a su definición de clase. Su clase de prueba no está visible actualmente fuera de su propio ensamblado.

namespace tests {
    [TestClass]
    public class SimpleTest {
        [TestMethod]
        public void Test() {
            Assert.AreEqual("a","a", "same");
        }
    }
}
Joe King
fuente
24
Lo hizo por mí, casi embarazoso No he encontrado por mi cuenta :)
Landi
55
También tuve este problema, el mío fue causado por [TestMethod]ser estático debido a una copia y pegado de otro código.
Septiembre
2
@Seph: ¡Mi correo [TestMethod]está estático porque eso es lo que UserTest1.cstenía en el nuevo proyecto de prueba! También resolvió mi problema.
Andre Luus
44
Tampoco pongas staticdelante de tu método. No sé por qué lo hago por costumbre tan a menudo.
levininja
1
Esto lo hizo por mí, interesante cómo puedes perder tanto tiempo en algo que debería haber sido tan obvio. Gracias por la respuesta Joe King
Thulani Chivandikwa
58

Esto a veces funciona.

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

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

Como se mencionó en otras publicaciones, asegúrese de tener abierta la ventana 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 Test Explorer.

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

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

Vaya a Build -> Configuration Manager. Asegúrese de que su proyecto de prueba tenga la casilla de verificación de compilación marcada para todas las configuraciones de solución y plataformas de solución.

Peter Lamberg
fuente
Sí, estas pueden ser otras razones por las que no funcionará, pero vea la respuesta marcada a continuación para saber por qué no funcionó para mí. (las carpetas compartidas están deshabilitadas de forma predeterminada), si puede decirnos cómo cambiar esto, le daré algunos puntos.
ctrl-alt-delor
No existe un procesador como x64, pero creo que Microsoft usa este término para x86-64 / amd64 / x86e. Tampoco hay x86, solo la familia x86. La x representa lo desconocido, por lo que los miembros de la familia x64 serían 164, 264, 364 ... O el x86 era un procesador de 86 bits.
ctrl-alt-delor
gracias por su respuesta, me ayuda (
cambié
Incluso en VS 2015, tener la ventana de Test Explorer abierta funcionó. Me alegro de que también puedo ejecutar pruebas desde la línea de comandos.
Bryan
32

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í!

dnnyz
fuente
1
También disponible a través de NuGetInstall-Package NUnitTestAdapter
Darren Hale
Gracias @DarrenHale. Mientras buscaba este paquete en NuGet, también encontré un paquete llamado NUnit TestAdapter que incluye NUnit 2.6.4 Framework .
ray
18

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

public async void ListCaseReplace() { ... }

no aparecía sino que se compilaba bien. Cuando eliminé la asyncpalabra clave, la prueba apareció en el Explorador de pruebas. Esto es porque async voides un método de "disparar y olvidar". ¡Realice el método async Tasky obtendrá su prueba nuevamente!

Además, no tener la configuración del proyecto Test establecida en "Build" también evitará que aparezcan las pruebas. Administrador de configuración> Verifique su prueba para compilar.

Caballero de la Luna
fuente
2
Me tomó un buen tiempo resolver esto. Reformulé algunos métodos para que fueran asíncronos y solo agregué la palabra clave a las pruebas. Fue solo cuando codifiqué una nueva prueba de unidad con esto que noté que también faltaban las otras pruebas. Encontré esta respuesta que explica por qué sucede esto.
julealgon
12

Dado que el proyecto está en una unidad compartida, como lo ha indicado el póster original. VS.NET necesita confiar en la ubicación de la red antes de cargar y ejecutar sus ensambles de prueba. Lee esta publicación de blog .

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

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

Para verificar o enumerar ubicaciones confiables existentes, ejecute:

 caspol -lg
Taras Alenin
fuente
El interrogador no verifica esta respuesta, ya que ya no me interesa la respuesta. Si funciona para usted (o no), agregue un comentario a continuación.
ctrl-alt-delor
66
@richard ¿Entonces acepta una respuesta que no verificó y rechazó otras respuestas que describen soluciones para diferentes causas de su problema? ....¡Eso es raro!
Stephan Bauer
1
Esto resultó ser el problema para mí, pero no la solución. Me mudé todo local y se encontraron todas las pruebas! ¡Gracias!
Travis Swientek
1
CasPol.exese puede encontrar debajo %windir%\Microsoft.NET\Framework[64]\[version]. Verifique que está configurando la política para la arquitectura adecuada. Fuente: msdn.microsoft.com/en-us/library/cb6t8dtz%28v=vs.100%29.aspx
EpicVoyage
Este también fue el problema para mí. ¡Tan molesto que VS no los recogió sino que dio cero indicaciones sobre la causa!
kaybee99
10

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 ejecuta desde una unidad de red / ubicación de red / unidad compartida

Puede solucionar esto agregando una variable de entorno.

COMPLUS_LoadFromRemoteSources y establezca su valor en 1

tim
fuente
6

Tuve el mismo problema ... En mi caso fue causado por un 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 pruebas.

Stephan Bauer
fuente
Aceptar los mismos síntomas, por lo que eliminará el voto negativo, si deja en claro lo que cambió (de qué).
ctrl-alt-delor
1
Tenía exactamente lo mismo, seguí el hilo completo, luego llegué a este y me propuso ponerlo en público, bingo: aparecieron mis nuevas pruebas. Entiendo los comentarios anteriores, pero ... ya que este nos trae de Google ... este es el hilo a leer cuando las pruebas no aparecen.
edelwater
1
Esta fue la causa de mi problema. Tenía un campo para la interfaz de dependencia como un campo privado. ¡Eres un salvavidas!
Alex
6

Me encontré con el mismo problema al intentar abrir la solución en un recurso compartido de red. Test Explorer no detectaría ninguna prueba unitaria en este caso. 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 de host que contiene el recurso compartido de red a la lista "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.

Dracocephalum
fuente
6

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 [TestClass] atributo
  3. Los métodos de prueba tienen [TestMethod]atributo

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

SoftwareFactor
fuente
Esto solucionará los problemas de la mayoría de los visitantes a esta pregunta y resume la mayoría de las respuestas, sin embargo, no cubre el problema en la pregunta.
ctrl-alt-delor
1
Gracias. UTA001: TestClass attribute defined on non-public class
Jarek Przygódzki
6

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

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

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

Edward Olamisan
fuente
3
¡Trabajó para mí también! Creo que este es un tema aparte.
Justin Morgan
2
Hola, esto funciona hombre. Muchas gracias. ¿Alguna solución para que funcione sin ejecutarse como administrador?
Sriram Sakthivel
2
Lo siento, no creo que correr como administrador sea una buena solución. A menos que haya evidencia de que esta es la única manera.
ctrl-alt-delor
Ejecutar como administrador generalmente no es un gran problema. Pero uno de los problemas es que no puede enviar el Workitem a Outlook.
Edward Olamisan
Editó su respuesta para vincular a una publicación SO relacionada, espero que no le importe. Sin embargo, estoy de acuerdo con Sriram y Richard. Aunque esto funciona, es una solución, no una solución. Por qué incluso funciona en absoluto parece poco claro.
Steven Jeuris
4

A veces tengo los mismos síntomas.

Lo que hice fue:
1. Cerré la ventana del Explorador de pruebas
2. Limpié la solución
3. Reconstruí la solución
4. Reinicié la ventana del Explorador de pruebas desde Prueba -> Windows -> Explorador de pruebas.

Y obtuve mi prueba en la ventana Test Explorer.

CSharp
fuente
No creo que este sea el mismo problema.
ctrl-alt-delor
3
Creo que ES el mismo problema, solo es causado por algo más.
Stephan Bauer
2

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

Prueba -> Ejecutar -> Todas las pruebas

También puede ver todas las pruebas desde el Explorador de pruebas (Prueba -> Windows -> Explorador de pruebas)

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

Espero que esto ayude.

Adil
fuente
Lo intenté, ambos trabajan con nunit. Pero esta vez estoy tratando de ejecutar las pruebas escritas de otra persona usando Microsoft.VisualStudio.TestTools.UnitTesting, ¿alguna idea de qué más estoy haciendo mal?
ctrl-alt-delor
No hace ninguna diferencia ... A veces sucede que no se descubre la prueba unitaria ... así que si abres el explorador de prueba y creas la solución, aparecerá la prueba unitaria en un momento ... Puede que ya lo sepas. ..
Adil
2
Solo quería asegurarme de que estaba usando una versión express o una que no incluyera herramientas de prueba. ¿Has intentado instalar un corredor de prueba de terceros?
Brett Allred
2

Encontré que la mejor manera de solucionar este problema es crear un archivo .proj msbuild y agregar sus proyectos de prueba de unidad que tiene un problema en este archivo y ejecutar las pruebas usando la versión de línea de comando de mstest. Encontré un pequeño problema de configuración en mi app.config que solo apareció cuando ejecuté las pruebas desde mstest; de lo contrario, el proyecto de prueba se compiló perfectamente. También encontrará problemas de referencia indirecta con este método. Una vez que pueda ejecutar la prueba de la Unidad desde la línea de comando usando mstest, puede hacer una solución limpia, reconstruir la solución y su prueba debería ser descubierta correctamente.

Todd Carter
fuente
en mi caso, la app.config también eliminó la apariencia de la prueba de la unidad. Después de eliminar app.config y reconstruir el proyecto de prueba, ¡finalmente regresaron!
Chris Richner
2

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

Néstor
fuente
2

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 el estudio visual, fue el truco para mí.

Espero que esto ayude a alguien.

Jake_Howard
fuente
2

Sé que esta es una pregunta anterior, pero con Visual Studio 2015 estaba teniendo problemas en los que no se reconocía mi clase de prueba recién creada. Probé 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 notar que mi clase de prueba no estaba allí. Al mostrar archivos ocultos, lo vi, así como otras clases que había escrito, no estaban incluidas. Espero que ayude

mortey
fuente
2

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 - Arquitectura de procesador predeterminada -> x64. 2. Clean Build 3. Build 4. Si todavía no aparecieron las pruebas. 5. Vaya a Herramientas  Extensiones y actualizaciones, luego instale las bibliotecas NUnit y Specflow 6. Clean Build 7. Build

Entonces, por lo general, la prueba aparecerá en el Editor de pruebas.

Shiran Jayawardena
fuente
@srebella Bien que resolvió este problema. Pasé días para resolver esto. Por favor, comparta su experiencia con la comunidad. Ponga esta respuesta al principio si cree que funciona. Gracias :-)
Shiran Jayawardena
1

He actualizado VS 2012 a la última actualización. es decir, la actualización de Visual Studio 3. Eso solucionó el problema para mí.

sam
fuente
1

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 en realidad me permite navegar a los métodos enlazados, por lo que parecía que el flujo de especificaciones estaba conectado correctamente, pero no pude ver los nombres de las pruebas en el Explorador de pruebas.

Para este problema, simplemente excluir los archivos de características del proyecto y luego volver a incluirlos, forzó a VS a regenerar estos archivos de código subyacente generados automáticamente.

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

Zack Weiner
fuente
1

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

Había creado un proyecto de pruebas unitarias en 2012, y después de abrir en 2013, el proyecto de pruebas unitarias no mostraba ninguna prueba en el explorador de pruebas. Cada vez que intentaba ejecutar o depurar pruebas fallaba, diciendo lo siguiente en la ventana de salida:

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

También me di cuenta de 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 unitarias todavía hacía referencia a 2012. Al mirar la referencia del proyecto de prueba, me di cuenta de que estaba apuntando al Microsoft Visual incorrecto 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.

ladygargar
fuente
1

Verifique que su proyecto de prueba no esté configurado para Retrasar firmar solo en las propiedades de su proyecto -> Firma. Si es así, anule la selección y realice una reconstrucción limpia.

Jan Dolejsi
fuente
o simplemente omita la verificación de firma en su máquina local sn -Vr *,<public key token>como administrador en el símbolo del sistema del desarrollador VS
Silas
1

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

He corregido el problema activando

Panel de control -> Opciones de Internet -> Pestaña "Seguridad" -> Haga clic en "Intranet local", haga clic en sitios y asegúrese de que "Marcar automáticamente la red de intranet" esté marcado.

huddy72
fuente
1

Estas son todas excelentes respuestas, pero hay una razón más que conozco; Me encontré con eso. En una de mis pruebas recibí un mensaje de ReSharper que indicaba que tenía una clase privada no utilizada. Era una clase que voy a usar en una próxima prueba. En realidad, esto hizo que todas mis pruebas desaparecieran.

Mike Perrenoud
fuente
1

Verifique los ensambles referenciados para cualquier ensamblaje que pueda tener "Copiar local" establecido en "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 está marcado Copiar Local = "Falso", el ensamblaje no se puede cargar debido a la falta de dependencias y sus pruebas no se cargarán después de una compilación.

Joshua Starner
fuente
1

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

Este era 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 en la lista.

Reparar:

  1. Desinstale el adaptador Nuget y Nuget Test

    a. Vaya a Herramientas> Nuget> Administrador de paquetes de Nuget> Administrar paquete de Nuget para la solución

    si. Lista de paquetes instalados

    C. Haga clic en administrar

    re. Desmarca tus proyectos

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

  3. Solución limpia / reconstruida

  4. Prueba abierta> Explorador de prueba> Ejecutar todo

Veo todos los casos de prueba

Espero que esto ayude

usuario2831855
fuente
1

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.

Craig Fisher
fuente
1

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 inicial. 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 [TestMethod]atributo es el primero método dentro de la clase. Extraño, pero ahora funciona.

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

mshsayem
fuente
1

A las pruebas no les 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();

    }

Se vio la prueba.

DaBlue
fuente
Una mejor respuesta es[Test] public void XamarinExampleTest() { // This workaround is necessary on Xamarin, // which doesn't support async unit test methods. Task.Run(async () => { // Actual test code here. }).GetAwaiter().GetResult(); }
Robert Green MBA
3
"Las pruebas no les gustan los métodos asíncronos " es falso . "A las pruebas no les gustan los métodos vacíos asíncronos " es cierto , y la solución es simplemente declarar un método de prueba como Tarea asíncrona .
Massimiliano Kraus
1

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 del 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 me arregló esto.

simonlchilds
fuente