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

277
Vistas
¿Cómo probar el inicio de sesión en junit5?

Estoy haciendo la transición de junit4 a junit5 en un proyecto y estoy tratando de descubrir cómo probar los registros. Anteriormente, usé

 @Rule OutputCapture outputCapture = new OutputCapture();

y luego escribiría una afirmación usando outputCapture.toString() , por ejemplo

assertThat(outputCapture.toString(),containsString("status=200"));

Dado que la anotación @Rule aún no se ha implementado en junit5, no puedo usar outputCapture. ¿Alguna idea de qué hacer en su lugar? ¡Gracias!

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

0

Se proporciona una extensión para lo mismo y puede usarla de la siguiente manera:

 @ExtendWith(OutputCaptureExtension.class) public class MyTestClass { @Test void myTestCase(CapturedOutput capturedOutput) { assertTrue(capturedOutput.getOut().contains("expected string")); assertTrue(capturedOutput.getErr().contains("expected string")); } }
over 4 years ago · Santiago Trujillo Denunciar

0

Nos topamos con el mismo problema durante nuestra migración JUnit5. Después de investigar un poco, encontré una solución técnica, pero no parecía que alguien hubiera hecho una biblioteca de prueba todavía. Así que eso es lo que hice. Está publicado en Maven Central para que pueda usarlo de inmediato:

https://github.com/netmikey/logunit

Puedes usarlo de la siguiente manera:

 public class MyModuleTest { @RegisterExtension LogCapturer logs = LogCapturer.create().captureForType(MyModule.class); @Test public void testLogging() { // ... do the testing ... // Run assertions on the logged messages logs.assertContains("Some message"); } }

(ver el README del proyecto para más ejemplos)

over 4 years ago · Santiago Trujillo Denunciar

0

El consejo de migración de la documentación de JUnit5 establece claramente que:

@Rule y @ClassRule ya no existen; reemplazado por @ExtendWith ; consulte la siguiente sección para conocer la compatibilidad con reglas parciales.

Con el fin de utilizar el soporte @Rule existente de JUnit 4 , se sugiere una forma para las anotaciones de nivel de método o clase.

Al igual que en JUnit 4, se admiten campos con anotaciones de reglas y métodos. Al usar estas extensiones de nivel de clase en una clase de prueba, tales implementaciones de reglas en bases de código heredadas se pueden dejar sin cambios, incluidas las declaraciones de importación de reglas JUnit 4.

Esta forma limitada de soporte de reglas se puede activar mediante la anotación de nivel de clase org.junit.jupiter.migrationsupport.rules.EnableRuleMigrationSupport


Una mejor opción sería rediseñar su conjunto de pruebas para usar el modelo de extensión de JUnit5 si lo está usando.

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