Escribir pruebas unitarias puede ser difícil y, a veces, es necesario sacrificar un buen diseño con el único propósito de poder realizar pruebas. A menudo la capacidad de prueba corresponde a un buen diseño, pero no siempre es así. Por ejemplo, no se pueden utilizar clases y métodos finales, los métodos privados a veces deben protegerse o trasladarse innecesariamente a un colaborador, los métodos estáticos deben evitarse por completo, etc. simplemente debido a las limitaciones de los marcos existentes.
PowerMock es un marco que amplía otras bibliotecas simuladas como EasyMock con capacidades más potentes. PowerMock utiliza un cargador de clases personalizado y manipulación de código de bytes para permitir burlarse de métodos estáticos, constructores, clases y métodos finales, métodos privados, eliminación de inicializadores estáticos y más. Al utilizar un cargador de clases personalizado, no es necesario realizar cambios en el IDE ni en los servidores de integración continua, lo que simplifica la adopción. Los desarrolladores familiarizados con los marcos simulados admitidos encontrarán que PowerMock es fácil de usar, ya que toda la API esperada es la misma, tanto para los métodos estáticos como para los constructores. PowerMock tiene como objetivo ampliar las API existentes con una pequeña cantidad de métodos y anotaciones para habilitar funciones adicionales. Actualmente, PowerMock es compatible con EasyMock y Mockito.
Al escribir pruebas unitarias, suele ser útil omitir la encapsulación y, por lo tanto, PowerMock incluye varias funciones que simplifican la reflexión, específicamente útiles para las pruebas. Esto permite un fácil acceso al estado interno, pero también simplifica la burla parcial y privada.
Tenga en cuenta que PowerMock está destinado principalmente a personas con conocimientos expertos en pruebas unitarias. Ponerlo en manos de desarrolladores junior puede causar más daño que bien.
@PowerMockIgnore
global, así como correcciones de errores y otras mejoras. Consulte las notas de la versión y el registro de cambios para obtener más detalles.Noticias más antiguas
Por favor, lea la guía para un nuevo colaborador antes de comenzar.
Únase a la lista de correo aquí para preguntas, comentarios y asistencia.