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

390
Vistas
¿Por qué nunit no ejecuta una prueba que contiene control/caracteres especiales?

Si tengo una clase de prueba como

 public class Tests { [TestCaseSource(nameof(TestSource))] public void Test(string c) { Assert.Pass(); } public static IEnumerable<object> TestSource() { for (char c = '\0'; c < 255; c++) { yield return c.ToString(); } } }

entonces el ejecutor de pruebas en Visual Studio puede descubrir todas las pruebas, pero no las ejecuta todas.

estos son los rangos de caracteres ASCII que no se están ejecutando:

 U_0001 - U_0006 U_000E - U_001F U_007F - U_0084 U_0086 - U_009F

Actualmente usamos algunos de estos caracteres como U_0002 para pruebas relacionadas con el trabajo de la red que se incluyen en la prueba pero actualmente no se ejecutan

Esta es la salida para la ejecución de prueba.

 ---------- Starting test discovery for requested test run ---------- NUnit Adapter 3.17.0.0: Test discovery starting NUnit Adapter 3.17.0.0: Test discovery complete ========== Test discovery finished: 255 Tests found in 4,8 sec ========== ---------- Starting test run ---------- NUnit Adapter 3.17.0.0: Test execution started Running selected tests in C:\Users\WEIK014\source\repos\TestSourceTestProject\TestSourceTestProject\bin\Debug\netcoreapp2.1\TestSourceTestProject.dll NUnit3TestExecutor discovered 199 of 199 NUnit test cases NUnit Adapter 3.17.0.0: Test execution complete ========== Test run finished: 199 Tests run in 8,6 sec (199 Passed, 0 Failed, 0 Skipped) ==========

como ves ni reconoce que se salta pruebas.

Versiones en el proyecto:

  • Proyecto .Net Core 2.1
  • Unidad N 3.13.1
  • NUnit3TestAdapter 3.17.0

Aquí hay una prueba visual de que estas pruebas no se ejecutan ingrese la descripción de la imagen aquí

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

0

Bueno, parece que probablemente sea un error en algún lugar de Visual Studio o el adaptador de prueba que muestra caracteres de control Unicode. Como solución alternativa, puede anular el nombre para mostrar de la prueba para los caracteres de control:

 public static IEnumerable<TestCaseData> TestSource() { for (char c = '\0'; c < 255; c++) { var data = new TestCaseData(c.ToString()); if (char.IsControl(c)) { data.SetArgDisplayNames($"{(int)c:X4}"); } yield return data; } }

Esto preservará la visualización de los caracteres imprimibles (por ejemplo Test("a") ), y los caracteres de control se mostrarán como Test(0001) , etc.

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