Haga que las pruebas unitarias sean legibles con Sensei y AssertJ
Los desarrolladores crean y prueban su propio código con varios métodos. Uno de ellos es la prueba unitaria, un método muy popular para probar las partes más pequeñas del propio código. Cuando se escriben bien, las pruebas unitarias pueden ayudar a mejorar la calidad del código, así como a reducir los costes y el tiempo de desarrollo. Tanto si se hacen como parte del desarrollo dirigido por pruebas (TDD) como si no, las pruebas unitarias son una parte clave de las prácticas de desarrollo modernas y su importancia ha llevado a la creación de muchos marcos de pruebas.
Pero en ausencia de un marco de pruebas y una guía adecuados, las pruebas unitarias pueden volverse complejas e ilegibles, ya que el enfoque se centra en la cobertura y la cantidad en lugar de la calidad y la legibilidad. Esto es especialmente cierto en un código base grande y activo con muchas pruebas unitarias.
Un buen marco de pruebas ayuda a crear buenas pruebas legibles que son simples y se centran en las pruebas de calidad. También ayudan a documentar la forma de utilizar su código. Uno de estos marcos es AssertJ.
AssertJ es una API fluida para escribir pruebas unitarias en Java. Le permite escribir aserciones de prueba que se leen como si estuvieran en inglés, con autocompletado consciente del contexto. Si tienes un gran número de pruebas y necesitas mejorar su legibilidad, es posible que desees migrar todas ellas a AssertJ y también asegurarte de que todas las pruebas futuras están aprovechando al máximo AssertJ.
Pero la migración completa puede llevar un enorme esfuerzo y tiempo para hacerla manualmente, por lo que a menudo se omite o se pospone para otras tareas de desarrollo. Así que hemos creado Sensei - un plugin de IntelliJ altamente personalizable que puede ayudar a migrar tus pruebas unitarias actuales para utilizar AssertJ, así como permitir que todas las pruebas futuras se escriban de la manera correcta. Esto se hace con una serie de recetas (reglas) ya creadas para ti por el equipo de desarrollo de Sensei. Sensei hace que sea fácil realizar una migración única o tomar el enfoque de hacer migraciones incrementales a AssertJ, una prueba a la vez. Una vez que se ha migrado a AssertJ, las recetas siguen ayudando a los desarrolladores a aplicar correcciones rápidas a medida que escriben pruebas unitarias, de modo que sus pruebas unitarias siguen siendo uniformes, estándar y consistentes en todo el código base.

Acerca de Sensei
Sensei es un plugin de IntelliJ altamente personalizable para escanear y arreglar código indeseable mientras se escribe, con cientos de transformaciones de código descargables y recetas de migración (reglas), así como una capacidad incorporada para crear las propias. Con Sensei, los desarrolladores pueden remediar los malos patrones de código mientras escriben, de modo que puedan entregar código de calidad más rápidamente y, en última instancia, escribirlo de forma coherente y estándar en todos los equipos y proyectos.
Aquí hay un ejemplo de una migración de muestra que puede ayudarte a ver cómo Sensei hace que sea fácil migrar tus pruebas unitarias para usar AssertJ.
Por qué AssertJ es un gran marco para escribir pruebas unitarias
En lugar de escribir una prueba como esta aserción de JUnit:
puedes escribir esto con AssertJ:
Esto significa que puedes leer la aserción de izquierda a derecha como una frase en inglés, y queda claro cuál es la expectativa (en este caso, el tamaño 3). ¿Cuántas veces has escrito una aserción al revés, así?
Estos son sólo ejemplos sencillos. Cuanto más complejas sean tus comprobaciones y aserciones, más te ayudará AssertJ a hacer tus pruebas simples y legibles. Funciona muy bien con el autocompletado de tu IDE. Tan pronto como escribas:
aparecerá con todas las cosas que puedes comprobar, según el tipo de miResultado. Si es una colección, puedes comprobar su contenido, su tamaño, si contiene ciertos valores o tipos, etc.
AssertJ tiene soporte para primitivas y sus tipos de caja, tipos atómicos, colecciones, arrays, mapas, fechas, java.time, futuros, archivos/rutas, flujos de entrada, lanzables y URLs. Y si tienes un Matcher personalizado favorito para Hamcrest, puedes utilizarlo con AssertJ a través de HamcrestCondition.
Las pruebas unitarias legibles facilitan a los desarrolladores la lectura del código en inglés normal y, por lo tanto, facilitan la detección de errores, así como el aumento de la cobertura, lo que convierte a AssertJ en un marco indispensable para las buenas pruebas unitarias de Java.
Recetas para trasladar las pruebas unitarias heredadas a AssertJ
Hemos escrito un libro de cocina para ayudarte a escribir código consistente con AssertJ. Puede ayudarte a migrar tus aserciones a AssertJ desde cualquiera de estos frameworks: JUnit 3, JUnit 4, JUnit 5 y FEST-Assert.
Este libro de cocina puede configurarse en Sensei para su uso inmediato y puede encontrar las instrucciones de instalación para Sensei aquí.
Escriba mejores pruebas unitarias a medida que codifica: mejore la calidad de JUnit progresivamente
El libro de cocina Sensei para AssertJ no sólo te ayuda a migrar desde otros frameworks. Tiene algunas recetas que pueden ayudarte a mejorar tu escritura de pruebas, romper viejos hábitos y escribir pruebas AssertJ más idiomáticas.
Por ejemplo, supongamos que ha escrito una prueba con el siguiente aspecto:
Tal vez incluso lo haya migrado utilizando una de las recetas de migración anteriores, a partir de esta aserción de estilo JUnit:
El libro de cocina Sensei para AssertJ tiene una receta que también puede detectar este viejo estilo de aserción, y ofrecer convertirlo en esto:
Otra receta puede convertir lo siguiente de:
a esto:
Una migración única y prácticas de codificación uniformes en todos los equipos, con Sensei
Podemos ver en nuestros ejemplos anteriores, que la migración manual de las pruebas unitarias para usar AssertJ puede implicar mucho esfuerzo y tiempo que es mejor invertir en escribir mejores pruebas. Utilizando Sensei, puedes migrar fácilmente tus pruebas unitarias a AssertJ con confianza. Puedes realizar una migración de una sola vez, o migrar pruebas individuales a AssertJ a medida que las encuentres. Sensei proporciona este tipo de flexibilidad que hace que las migraciones de código sean menos dolorosas.
La migración de pruebas unitarias es sólo un ejemplo de las muchas maneras en que Sensei puede utilizarse para escribir código coherente en todos tus proyectos. Siempre puedes estar atento a los anti-patrones o a ciertas transformaciones manuales de código que encuentras con frecuencia en los pull requests o mientras codificas tú mismo. Si tienes un conjunto de directrices de codificación que los desarrolladores no suelen tener en cuenta, puedes convertir las directrices en recetas, permitiendo a los desarrolladores aplicar transformaciones de código aprobadas con confianza.
Si tienes alguna pregunta, nos encantaría que nos la hicieras llegar. Únase a nosotros en Slack en: sensei-scw.slack.com


Aplicar las directrices de codificación de las pruebas unitarias de manera uniforme y coherente
Sean es un ingeniero de software senior en Secure Code Warrior. Cuenta con más de una década de experiencia en desarrollo, centrada en ayudar a los desarrolladores a producir mejor software, y ha contribuido a varios proyectos de código abierto.

Secure Code Warrior está a disposición de su organización para ayudarle a proteger el código a lo largo de todo el ciclo de vida de desarrollo de software y crear una cultura en la que la ciberseguridad sea una prioridad. Tanto si es director de AppSec, desarrollador, CISO o cualquier persona implicada en la seguridad, podemos ayudar a su organización a reducir los riesgos asociados a un código inseguro.
Reservar una demostraciónSean es un ingeniero de software senior en Secure Code Warrior. Cuenta con más de una década de experiencia en desarrollo, centrada en ayudar a los desarrolladores a producir mejor software, y ha contribuido a varios proyectos de código abierto.


Los desarrolladores crean y prueban su propio código con varios métodos. Uno de ellos es la prueba unitaria, un método muy popular para probar las partes más pequeñas del propio código. Cuando se escriben bien, las pruebas unitarias pueden ayudar a mejorar la calidad del código, así como a reducir los costes y el tiempo de desarrollo. Tanto si se hacen como parte del desarrollo dirigido por pruebas (TDD) como si no, las pruebas unitarias son una parte clave de las prácticas de desarrollo modernas y su importancia ha llevado a la creación de muchos marcos de pruebas.
Pero en ausencia de un marco de pruebas y una guía adecuados, las pruebas unitarias pueden volverse complejas e ilegibles, ya que el enfoque se centra en la cobertura y la cantidad en lugar de la calidad y la legibilidad. Esto es especialmente cierto en un código base grande y activo con muchas pruebas unitarias.
Un buen marco de pruebas ayuda a crear buenas pruebas legibles que son simples y se centran en las pruebas de calidad. También ayudan a documentar la forma de utilizar su código. Uno de estos marcos es AssertJ.
AssertJ es una API fluida para escribir pruebas unitarias en Java. Le permite escribir aserciones de prueba que se leen como si estuvieran en inglés, con autocompletado consciente del contexto. Si tienes un gran número de pruebas y necesitas mejorar su legibilidad, es posible que desees migrar todas ellas a AssertJ y también asegurarte de que todas las pruebas futuras están aprovechando al máximo AssertJ.
Pero la migración completa puede llevar un enorme esfuerzo y tiempo para hacerla manualmente, por lo que a menudo se omite o se pospone para otras tareas de desarrollo. Así que hemos creado Sensei - un plugin de IntelliJ altamente personalizable que puede ayudar a migrar tus pruebas unitarias actuales para utilizar AssertJ, así como permitir que todas las pruebas futuras se escriban de la manera correcta. Esto se hace con una serie de recetas (reglas) ya creadas para ti por el equipo de desarrollo de Sensei. Sensei hace que sea fácil realizar una migración única o tomar el enfoque de hacer migraciones incrementales a AssertJ, una prueba a la vez. Una vez que se ha migrado a AssertJ, las recetas siguen ayudando a los desarrolladores a aplicar correcciones rápidas a medida que escriben pruebas unitarias, de modo que sus pruebas unitarias siguen siendo uniformes, estándar y consistentes en todo el código base.

Acerca de Sensei
Sensei es un plugin de IntelliJ altamente personalizable para escanear y arreglar código indeseable mientras se escribe, con cientos de transformaciones de código descargables y recetas de migración (reglas), así como una capacidad incorporada para crear las propias. Con Sensei, los desarrolladores pueden remediar los malos patrones de código mientras escriben, de modo que puedan entregar código de calidad más rápidamente y, en última instancia, escribirlo de forma coherente y estándar en todos los equipos y proyectos.
Aquí hay un ejemplo de una migración de muestra que puede ayudarte a ver cómo Sensei hace que sea fácil migrar tus pruebas unitarias para usar AssertJ.
Por qué AssertJ es un gran marco para escribir pruebas unitarias
En lugar de escribir una prueba como esta aserción de JUnit:
puedes escribir esto con AssertJ:
Esto significa que puedes leer la aserción de izquierda a derecha como una frase en inglés, y queda claro cuál es la expectativa (en este caso, el tamaño 3). ¿Cuántas veces has escrito una aserción al revés, así?
Estos son sólo ejemplos sencillos. Cuanto más complejas sean tus comprobaciones y aserciones, más te ayudará AssertJ a hacer tus pruebas simples y legibles. Funciona muy bien con el autocompletado de tu IDE. Tan pronto como escribas:
aparecerá con todas las cosas que puedes comprobar, según el tipo de miResultado. Si es una colección, puedes comprobar su contenido, su tamaño, si contiene ciertos valores o tipos, etc.
AssertJ tiene soporte para primitivas y sus tipos de caja, tipos atómicos, colecciones, arrays, mapas, fechas, java.time, futuros, archivos/rutas, flujos de entrada, lanzables y URLs. Y si tienes un Matcher personalizado favorito para Hamcrest, puedes utilizarlo con AssertJ a través de HamcrestCondition.
Las pruebas unitarias legibles facilitan a los desarrolladores la lectura del código en inglés normal y, por lo tanto, facilitan la detección de errores, así como el aumento de la cobertura, lo que convierte a AssertJ en un marco indispensable para las buenas pruebas unitarias de Java.
Recetas para trasladar las pruebas unitarias heredadas a AssertJ
Hemos escrito un libro de cocina para ayudarte a escribir código consistente con AssertJ. Puede ayudarte a migrar tus aserciones a AssertJ desde cualquiera de estos frameworks: JUnit 3, JUnit 4, JUnit 5 y FEST-Assert.
Este libro de cocina puede configurarse en Sensei para su uso inmediato y puede encontrar las instrucciones de instalación para Sensei aquí.
Escriba mejores pruebas unitarias a medida que codifica: mejore la calidad de JUnit progresivamente
El libro de cocina Sensei para AssertJ no sólo te ayuda a migrar desde otros frameworks. Tiene algunas recetas que pueden ayudarte a mejorar tu escritura de pruebas, romper viejos hábitos y escribir pruebas AssertJ más idiomáticas.
Por ejemplo, supongamos que ha escrito una prueba con el siguiente aspecto:
Tal vez incluso lo haya migrado utilizando una de las recetas de migración anteriores, a partir de esta aserción de estilo JUnit:
El libro de cocina Sensei para AssertJ tiene una receta que también puede detectar este viejo estilo de aserción, y ofrecer convertirlo en esto:
Otra receta puede convertir lo siguiente de:
a esto:
Una migración única y prácticas de codificación uniformes en todos los equipos, con Sensei
Podemos ver en nuestros ejemplos anteriores, que la migración manual de las pruebas unitarias para usar AssertJ puede implicar mucho esfuerzo y tiempo que es mejor invertir en escribir mejores pruebas. Utilizando Sensei, puedes migrar fácilmente tus pruebas unitarias a AssertJ con confianza. Puedes realizar una migración de una sola vez, o migrar pruebas individuales a AssertJ a medida que las encuentres. Sensei proporciona este tipo de flexibilidad que hace que las migraciones de código sean menos dolorosas.
La migración de pruebas unitarias es sólo un ejemplo de las muchas maneras en que Sensei puede utilizarse para escribir código coherente en todos tus proyectos. Siempre puedes estar atento a los anti-patrones o a ciertas transformaciones manuales de código que encuentras con frecuencia en los pull requests o mientras codificas tú mismo. Si tienes un conjunto de directrices de codificación que los desarrolladores no suelen tener en cuenta, puedes convertir las directrices en recetas, permitiendo a los desarrolladores aplicar transformaciones de código aprobadas con confianza.
Si tienes alguna pregunta, nos encantaría que nos la hicieras llegar. Únase a nosotros en Slack en: sensei-scw.slack.com

Los desarrolladores crean y prueban su propio código con varios métodos. Uno de ellos es la prueba unitaria, un método muy popular para probar las partes más pequeñas del propio código. Cuando se escriben bien, las pruebas unitarias pueden ayudar a mejorar la calidad del código, así como a reducir los costes y el tiempo de desarrollo. Tanto si se hacen como parte del desarrollo dirigido por pruebas (TDD) como si no, las pruebas unitarias son una parte clave de las prácticas de desarrollo modernas y su importancia ha llevado a la creación de muchos marcos de pruebas.
Pero en ausencia de un marco de pruebas y una guía adecuados, las pruebas unitarias pueden volverse complejas e ilegibles, ya que el enfoque se centra en la cobertura y la cantidad en lugar de la calidad y la legibilidad. Esto es especialmente cierto en un código base grande y activo con muchas pruebas unitarias.
Un buen marco de pruebas ayuda a crear buenas pruebas legibles que son simples y se centran en las pruebas de calidad. También ayudan a documentar la forma de utilizar su código. Uno de estos marcos es AssertJ.
AssertJ es una API fluida para escribir pruebas unitarias en Java. Le permite escribir aserciones de prueba que se leen como si estuvieran en inglés, con autocompletado consciente del contexto. Si tienes un gran número de pruebas y necesitas mejorar su legibilidad, es posible que desees migrar todas ellas a AssertJ y también asegurarte de que todas las pruebas futuras están aprovechando al máximo AssertJ.
Pero la migración completa puede llevar un enorme esfuerzo y tiempo para hacerla manualmente, por lo que a menudo se omite o se pospone para otras tareas de desarrollo. Así que hemos creado Sensei - un plugin de IntelliJ altamente personalizable que puede ayudar a migrar tus pruebas unitarias actuales para utilizar AssertJ, así como permitir que todas las pruebas futuras se escriban de la manera correcta. Esto se hace con una serie de recetas (reglas) ya creadas para ti por el equipo de desarrollo de Sensei. Sensei hace que sea fácil realizar una migración única o tomar el enfoque de hacer migraciones incrementales a AssertJ, una prueba a la vez. Una vez que se ha migrado a AssertJ, las recetas siguen ayudando a los desarrolladores a aplicar correcciones rápidas a medida que escriben pruebas unitarias, de modo que sus pruebas unitarias siguen siendo uniformes, estándar y consistentes en todo el código base.

Acerca de Sensei
Sensei es un plugin de IntelliJ altamente personalizable para escanear y arreglar código indeseable mientras se escribe, con cientos de transformaciones de código descargables y recetas de migración (reglas), así como una capacidad incorporada para crear las propias. Con Sensei, los desarrolladores pueden remediar los malos patrones de código mientras escriben, de modo que puedan entregar código de calidad más rápidamente y, en última instancia, escribirlo de forma coherente y estándar en todos los equipos y proyectos.
Aquí hay un ejemplo de una migración de muestra que puede ayudarte a ver cómo Sensei hace que sea fácil migrar tus pruebas unitarias para usar AssertJ.
Por qué AssertJ es un gran marco para escribir pruebas unitarias
En lugar de escribir una prueba como esta aserción de JUnit:
puedes escribir esto con AssertJ:
Esto significa que puedes leer la aserción de izquierda a derecha como una frase en inglés, y queda claro cuál es la expectativa (en este caso, el tamaño 3). ¿Cuántas veces has escrito una aserción al revés, así?
Estos son sólo ejemplos sencillos. Cuanto más complejas sean tus comprobaciones y aserciones, más te ayudará AssertJ a hacer tus pruebas simples y legibles. Funciona muy bien con el autocompletado de tu IDE. Tan pronto como escribas:
aparecerá con todas las cosas que puedes comprobar, según el tipo de miResultado. Si es una colección, puedes comprobar su contenido, su tamaño, si contiene ciertos valores o tipos, etc.
AssertJ tiene soporte para primitivas y sus tipos de caja, tipos atómicos, colecciones, arrays, mapas, fechas, java.time, futuros, archivos/rutas, flujos de entrada, lanzables y URLs. Y si tienes un Matcher personalizado favorito para Hamcrest, puedes utilizarlo con AssertJ a través de HamcrestCondition.
Las pruebas unitarias legibles facilitan a los desarrolladores la lectura del código en inglés normal y, por lo tanto, facilitan la detección de errores, así como el aumento de la cobertura, lo que convierte a AssertJ en un marco indispensable para las buenas pruebas unitarias de Java.
Recetas para trasladar las pruebas unitarias heredadas a AssertJ
Hemos escrito un libro de cocina para ayudarte a escribir código consistente con AssertJ. Puede ayudarte a migrar tus aserciones a AssertJ desde cualquiera de estos frameworks: JUnit 3, JUnit 4, JUnit 5 y FEST-Assert.
Este libro de cocina puede configurarse en Sensei para su uso inmediato y puede encontrar las instrucciones de instalación para Sensei aquí.
Escriba mejores pruebas unitarias a medida que codifica: mejore la calidad de JUnit progresivamente
El libro de cocina Sensei para AssertJ no sólo te ayuda a migrar desde otros frameworks. Tiene algunas recetas que pueden ayudarte a mejorar tu escritura de pruebas, romper viejos hábitos y escribir pruebas AssertJ más idiomáticas.
Por ejemplo, supongamos que ha escrito una prueba con el siguiente aspecto:
Tal vez incluso lo haya migrado utilizando una de las recetas de migración anteriores, a partir de esta aserción de estilo JUnit:
El libro de cocina Sensei para AssertJ tiene una receta que también puede detectar este viejo estilo de aserción, y ofrecer convertirlo en esto:
Otra receta puede convertir lo siguiente de:
a esto:
Una migración única y prácticas de codificación uniformes en todos los equipos, con Sensei
Podemos ver en nuestros ejemplos anteriores, que la migración manual de las pruebas unitarias para usar AssertJ puede implicar mucho esfuerzo y tiempo que es mejor invertir en escribir mejores pruebas. Utilizando Sensei, puedes migrar fácilmente tus pruebas unitarias a AssertJ con confianza. Puedes realizar una migración de una sola vez, o migrar pruebas individuales a AssertJ a medida que las encuentres. Sensei proporciona este tipo de flexibilidad que hace que las migraciones de código sean menos dolorosas.
La migración de pruebas unitarias es sólo un ejemplo de las muchas maneras en que Sensei puede utilizarse para escribir código coherente en todos tus proyectos. Siempre puedes estar atento a los anti-patrones o a ciertas transformaciones manuales de código que encuentras con frecuencia en los pull requests o mientras codificas tú mismo. Si tienes un conjunto de directrices de codificación que los desarrolladores no suelen tener en cuenta, puedes convertir las directrices en recetas, permitiendo a los desarrolladores aplicar transformaciones de código aprobadas con confianza.
Si tienes alguna pregunta, nos encantaría que nos la hicieras llegar. Únase a nosotros en Slack en: sensei-scw.slack.com

Haga clic en el siguiente enlace y descargue el PDF de este recurso.
Secure Code Warrior está a disposición de su organización para ayudarle a proteger el código a lo largo de todo el ciclo de vida de desarrollo de software y crear una cultura en la que la ciberseguridad sea una prioridad. Tanto si es director de AppSec, desarrollador, CISO o cualquier persona implicada en la seguridad, podemos ayudar a su organización a reducir los riesgos asociados a un código inseguro.
Ver el informeReservar una demostraciónSean es un ingeniero de software senior en Secure Code Warrior. Cuenta con más de una década de experiencia en desarrollo, centrada en ayudar a los desarrolladores a producir mejor software, y ha contribuido a varios proyectos de código abierto.
Los desarrolladores crean y prueban su propio código con varios métodos. Uno de ellos es la prueba unitaria, un método muy popular para probar las partes más pequeñas del propio código. Cuando se escriben bien, las pruebas unitarias pueden ayudar a mejorar la calidad del código, así como a reducir los costes y el tiempo de desarrollo. Tanto si se hacen como parte del desarrollo dirigido por pruebas (TDD) como si no, las pruebas unitarias son una parte clave de las prácticas de desarrollo modernas y su importancia ha llevado a la creación de muchos marcos de pruebas.
Pero en ausencia de un marco de pruebas y una guía adecuados, las pruebas unitarias pueden volverse complejas e ilegibles, ya que el enfoque se centra en la cobertura y la cantidad en lugar de la calidad y la legibilidad. Esto es especialmente cierto en un código base grande y activo con muchas pruebas unitarias.
Un buen marco de pruebas ayuda a crear buenas pruebas legibles que son simples y se centran en las pruebas de calidad. También ayudan a documentar la forma de utilizar su código. Uno de estos marcos es AssertJ.
AssertJ es una API fluida para escribir pruebas unitarias en Java. Le permite escribir aserciones de prueba que se leen como si estuvieran en inglés, con autocompletado consciente del contexto. Si tienes un gran número de pruebas y necesitas mejorar su legibilidad, es posible que desees migrar todas ellas a AssertJ y también asegurarte de que todas las pruebas futuras están aprovechando al máximo AssertJ.
Pero la migración completa puede llevar un enorme esfuerzo y tiempo para hacerla manualmente, por lo que a menudo se omite o se pospone para otras tareas de desarrollo. Así que hemos creado Sensei - un plugin de IntelliJ altamente personalizable que puede ayudar a migrar tus pruebas unitarias actuales para utilizar AssertJ, así como permitir que todas las pruebas futuras se escriban de la manera correcta. Esto se hace con una serie de recetas (reglas) ya creadas para ti por el equipo de desarrollo de Sensei. Sensei hace que sea fácil realizar una migración única o tomar el enfoque de hacer migraciones incrementales a AssertJ, una prueba a la vez. Una vez que se ha migrado a AssertJ, las recetas siguen ayudando a los desarrolladores a aplicar correcciones rápidas a medida que escriben pruebas unitarias, de modo que sus pruebas unitarias siguen siendo uniformes, estándar y consistentes en todo el código base.

Acerca de Sensei
Sensei es un plugin de IntelliJ altamente personalizable para escanear y arreglar código indeseable mientras se escribe, con cientos de transformaciones de código descargables y recetas de migración (reglas), así como una capacidad incorporada para crear las propias. Con Sensei, los desarrolladores pueden remediar los malos patrones de código mientras escriben, de modo que puedan entregar código de calidad más rápidamente y, en última instancia, escribirlo de forma coherente y estándar en todos los equipos y proyectos.
Aquí hay un ejemplo de una migración de muestra que puede ayudarte a ver cómo Sensei hace que sea fácil migrar tus pruebas unitarias para usar AssertJ.
Por qué AssertJ es un gran marco para escribir pruebas unitarias
En lugar de escribir una prueba como esta aserción de JUnit:
puedes escribir esto con AssertJ:
Esto significa que puedes leer la aserción de izquierda a derecha como una frase en inglés, y queda claro cuál es la expectativa (en este caso, el tamaño 3). ¿Cuántas veces has escrito una aserción al revés, así?
Estos son sólo ejemplos sencillos. Cuanto más complejas sean tus comprobaciones y aserciones, más te ayudará AssertJ a hacer tus pruebas simples y legibles. Funciona muy bien con el autocompletado de tu IDE. Tan pronto como escribas:
aparecerá con todas las cosas que puedes comprobar, según el tipo de miResultado. Si es una colección, puedes comprobar su contenido, su tamaño, si contiene ciertos valores o tipos, etc.
AssertJ tiene soporte para primitivas y sus tipos de caja, tipos atómicos, colecciones, arrays, mapas, fechas, java.time, futuros, archivos/rutas, flujos de entrada, lanzables y URLs. Y si tienes un Matcher personalizado favorito para Hamcrest, puedes utilizarlo con AssertJ a través de HamcrestCondition.
Las pruebas unitarias legibles facilitan a los desarrolladores la lectura del código en inglés normal y, por lo tanto, facilitan la detección de errores, así como el aumento de la cobertura, lo que convierte a AssertJ en un marco indispensable para las buenas pruebas unitarias de Java.
Recetas para trasladar las pruebas unitarias heredadas a AssertJ
Hemos escrito un libro de cocina para ayudarte a escribir código consistente con AssertJ. Puede ayudarte a migrar tus aserciones a AssertJ desde cualquiera de estos frameworks: JUnit 3, JUnit 4, JUnit 5 y FEST-Assert.
Este libro de cocina puede configurarse en Sensei para su uso inmediato y puede encontrar las instrucciones de instalación para Sensei aquí.
Escriba mejores pruebas unitarias a medida que codifica: mejore la calidad de JUnit progresivamente
El libro de cocina Sensei para AssertJ no sólo te ayuda a migrar desde otros frameworks. Tiene algunas recetas que pueden ayudarte a mejorar tu escritura de pruebas, romper viejos hábitos y escribir pruebas AssertJ más idiomáticas.
Por ejemplo, supongamos que ha escrito una prueba con el siguiente aspecto:
Tal vez incluso lo haya migrado utilizando una de las recetas de migración anteriores, a partir de esta aserción de estilo JUnit:
El libro de cocina Sensei para AssertJ tiene una receta que también puede detectar este viejo estilo de aserción, y ofrecer convertirlo en esto:
Otra receta puede convertir lo siguiente de:
a esto:
Una migración única y prácticas de codificación uniformes en todos los equipos, con Sensei
Podemos ver en nuestros ejemplos anteriores, que la migración manual de las pruebas unitarias para usar AssertJ puede implicar mucho esfuerzo y tiempo que es mejor invertir en escribir mejores pruebas. Utilizando Sensei, puedes migrar fácilmente tus pruebas unitarias a AssertJ con confianza. Puedes realizar una migración de una sola vez, o migrar pruebas individuales a AssertJ a medida que las encuentres. Sensei proporciona este tipo de flexibilidad que hace que las migraciones de código sean menos dolorosas.
La migración de pruebas unitarias es sólo un ejemplo de las muchas maneras en que Sensei puede utilizarse para escribir código coherente en todos tus proyectos. Siempre puedes estar atento a los anti-patrones o a ciertas transformaciones manuales de código que encuentras con frecuencia en los pull requests o mientras codificas tú mismo. Si tienes un conjunto de directrices de codificación que los desarrolladores no suelen tener en cuenta, puedes convertir las directrices en recetas, permitiendo a los desarrolladores aplicar transformaciones de código aprobadas con confianza.
Si tienes alguna pregunta, nos encantaría que nos la hicieras llegar. Únase a nosotros en Slack en: sensei-scw.slack.com
Índice
Sean es un ingeniero de software senior en Secure Code Warrior. Cuenta con más de una década de experiencia en desarrollo, centrada en ayudar a los desarrolladores a producir mejor software, y ha contribuido a varios proyectos de código abierto.

Secure Code Warrior está a disposición de su organización para ayudarle a proteger el código a lo largo de todo el ciclo de vida de desarrollo de software y crear una cultura en la que la ciberseguridad sea una prioridad. Tanto si es director de AppSec, desarrollador, CISO o cualquier persona implicada en la seguridad, podemos ayudar a su organización a reducir los riesgos asociados a un código inseguro.
Reservar una demostraciónDescargarRecursos para empezar
Servicios profesionales - Acelerar con experiencia
El equipo de servicios de estrategia de programas (PSS) de Secure Code Warriorle ayuda a crear, mejorar y optimizar su programa de codificación segura. Tanto si empieza de cero como si está perfeccionando su enfoque, nuestros expertos le proporcionarán orientación personalizada.
Temas y contenidos de la formación sobre código seguro
Nuestro contenido, líder en el sector, evoluciona constantemente para adaptarse al cambiante panorama del desarrollo de software teniendo en cuenta su función. Temas que cubren todo, desde IA a XQuery Injection, ofrecidos para una variedad de roles desde Arquitectos e Ingenieros a Product Managers y QA. Eche un vistazo a lo que ofrece nuestro catálogo de contenidos por tema y función.
Búsqueda: Aprendizaje líder en la industria para mantener a los desarrolladores por delante mitigando el riesgo.
Quests es una learning platform que ayuda a los desarrolladores a mitigar los riesgos de seguridad del software mediante la mejora de sus habilidades de codificación segura. Con rutas de aprendizaje curadas, desafíos prácticos y actividades interactivas, capacita a los desarrolladores para identificar y prevenir vulnerabilidades.
Recursos para empezar
¿Vibe Coding va a convertir tu código en una fiesta de fraternidad?
Vibe Coding es como una fiesta de fraternidad universitaria, y la IA es la pieza central de todos los festejos, el barril. Es muy divertido dar rienda suelta a la creatividad y ver adónde te lleva tu imaginación, pero después de unas cuantas borracheras, beber (o usar IA) con moderación es, sin duda, la solución más segura a largo plazo.
La Década de los Defensores: Secure Code Warrior Cumple Diez Años
Secure Code Warriorha permanecido unido, dirigiendo el barco a través de cada lección, triunfo y contratiempo durante toda una década. Estamos creciendo y listos para afrontar nuestro próximo capítulo, SCW 2.0, como líderes en gestión de riesgos para desarrolladores.