Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

391
Views
¿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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!