¿Cuál es el mejor marco simulado para Java? [cerrado]
¿Cuál es el mejor marco para crear objetos simulados en Java? ¿Por qué? ¿Cuáles son los pros y los contras de cada marco?
He tenido mucho éxito usando Mockito .
Cuando intenté aprender sobre JMock y EasyMock, encontré que la curva de aprendizaje era un poco pronunciada (aunque tal vez sea solo yo).
Me gusta Mockito por su sintaxis simple y limpia que pude comprender con bastante rapidez. La sintaxis mínima está diseñada para soportar muy bien los casos comunes, aunque las pocas veces que necesité hacer algo más complicado encontré que lo que quería era compatible y fácil de entender.
Aquí hay un ejemplo (abreviado) de la página de inicio de Mockito:
import static org.mockito.Mockito.*;
List mockedList = mock(List.class);
mockedList.clear();
verify(mockedList).clear();
No hay nada más sencillo que eso.
El único inconveniente importante que se me ocurre es que no se burlará de los métodos estáticos.
Soy el creador de PowerMock, ¡así que obviamente debo recomendarlo! :-)
PowerMock extiende tanto EasyMock como Mockito con la capacidad de simular métodos estáticos , finales e incluso privados. La compatibilidad con EasyMock está completa, pero el complemento Mockito necesita más trabajo. También estamos planeando agregar soporte para JMock.
PowerMock no pretende reemplazar otros marcos, sino que puede usarse en situaciones difíciles cuando otros marcos no permiten burlarse. PowerMock también contiene otras funciones útiles, como la supresión de inicializadores y constructores estáticos .