Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

253
Vistas
xUnit no escribe mensaje en el panel de salida

En Visual Studio 2015 Community, tengo un proyecto de muestra ASP.NET 5 (vNext) y un proyecto con pruebas unitarias (xUnit.net). La versión de DNX es 1.0.0-beta5. Mi objetivo es agregar mensajes durante la ejecución de la prueba al panel de salida. Aquí tomé una forma de hacer esto, por lo que mi código de prueba de unidad se ve así:

 using Xunit; using Xunit.Abstractions; namespace UnitTests { public class UnitTest1 { ITestOutputHelper output; public UnitTest1(ITestOutputHelper output) { this.output = output; } [Fact] public void TestTestTest() { output.WriteLine("Test Message"); Assert.Equal(2, 2); } } }

Visual Studio Test Explorer descubre esta prueba (y está bien), pero todo lo que tengo en el panel Salida (de Pruebas) es:

 ------ Run test started ------ ------ Test started: Project: UnitTests ------ Starting Microsoft.Framework.TestHost [C:\Users\*******\.dnx\runtimes\dnx-clr-win-x86.1.0.0-beta5\bin\dnx.exe --appbase "C:\Users\*******\Documents\Visual Studio 2015\Projects\MvcMovie\UnitTests" Microsoft.Framework.ApplicationHost --port 55837 Microsoft.Framework.TestHost --port 55893] Connected to Microsoft.Framework.TestHost Running tests in 'C:\Users\*******\Documents\Visual Studio 2015\Projects\MvcMovie\UnitTests\project.json' ========== Run test finished: 1 run (0:00:03,2267169) ==========

Además, no hay ningún enlace "Salida" en la información de ejecución de prueba seleccionada, como aquí: Ingrese la descripción de la imagen aquí (Solo "Prueba superada... Tiempo transcurrido...")

¿Qué debo hacer para que este ITestOutputHelper funcione?

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Esta solución me funciona (Visual Studio 2017 y xUnit 2.2.0.3545).

Intente agregar la siguiente configuración en el archivo App.Config . (No sé por qué. Solo era necesario. Si no existe, simplemente agregue uno nuevo en su proyecto de prueba).

 <?xml version="1.0" encoding="utf-8" ?> <configuration> <appSettings> <add key="xunit.diagnosticMessages" value="true"/> </appSettings> </configuration>

La información de salida se escribirá en Salida de Test como se espera, como se muestra a continuación.

 [xUnit.net 00:00:00.0853907] Starting: xxxAssemblyName (parallel test collections = on, max threads = 8) [xUnit.net 00:00:00.1689373] Example.xxxTestClassName [PASS] [xUnit.net 00:00:00.1697265] Output: [xUnit.net 00:00:00.1700698] xxxx your Test Message [xUnit.net 00:00:00.1797303] Finished: xxxAssemblyName
over 4 years ago · Santiago Trujillo Denunciar

0

Como se explica en la página xUnit GitHub , usé

salida privada de solo lectura ITestOutputHelper;

Y esto funcionó para mí.

over 4 years ago · Santiago Trujillo Denunciar

0

También me encontré con esto la primera vez que usé xUnit después de usar NUnit durante mucho tiempo.

Sorprendentemente, xUnit no admite la salida de la consola directamente, pero ofrece otras formas de lograr lo mismo.

https://xunit.github.io/docs/capturing-output.html

Si no está realmente interesado en xUnit, diría que lo más simple sería usar NUnit o MSTest porque ambos son compatibles con console.writeline simple.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda