No estoy seguro de cómo burlarse de una clase Enum singleton. public enum SingletonObject{ INSTANCE; private int num; protected setNum(int num) { this.num = num; } public int getNum() { return num; } Me gustaría poner getNum () en el ejemplo anterior, pero no puedo imaginarme cómo simular la clase SingletonObject real. Pensé que usar […]
protected int parseExpire(CacheContext ctx) throws AttributeDefineException { Method targetMethod = ctx.getTargetMethod(); CacheEnable cacheEnable = targetMethod.getAnnotation(CacheEnable.class); ExpireExpr cacheExpire = targetMethod.getAnnotation(ExpireExpr.class); // check for duplicate setting if (cacheEnable.expire() != CacheAttribute.DO_NOT_EXPIRE && cacheExpire != null) { throw new AttributeDefineException(“expire are defined both in @CacheEnable and @ExpireExpr”); } // expire time defined in @CacheEnable or @ExpireExpr return cacheEnable.expire() != […]
Al crear pruebas y burlarse de las dependencias, ¿cuál es la diferencia entre estos tres enfoques? @MockBean: @MockBean MyService myservice; @Burlarse de: @Mock MyService myservice; Mockito.mock () MyService myservice = Mockito.mock(MyService.class);
Creé un sistema web usando Java Servlets y ahora quiero hacer pruebas JUnit. Mi dataManager es solo una pieza básica de código que lo envía a la base de datos. ¿Cómo probarías un Servlet con JUnit? Mi ejemplo de código que permite a un usuario registrarse / registrarse, que se envía desde mi página principal […]
Mockito parece un marco de burla / burla bastante dulce para Java. El único problema es que no puedo encontrar ninguna documentación concreta sobre las mejores formas de usar su API. Los métodos comunes usados en las pruebas incluyen: doXXX(???) : Stubber when(T) : OngoingStubbing then(T) : OngoingStubbing verify(???) : T given(T) : BDDOngoingStubbing willXXX(???) […]
En la documentación de Mockito y javadocs , dice Se recomienda usar ArgumentCaptor con verificación, pero no con stubbing. pero no entiendo cómo ArgumentCaptor puede usarse para el troquelado. ¿Alguien puede explicar la statement anterior y mostrar cómo ArgumentCaptor se puede usar para anotar o proporcionar un enlace que muestre cómo se puede hacer?
Quiero verificar si un método se llama dos veces o más de una vez a través de la verificación de mockito. Utilicé verificar y se queja así: org.mockito.exceptions.verification.TooManyActualInvocations: Wanted 1 time: But was 2 times. Undesired invocation:
Estoy intentando que uno de mis objetos burlados arroje una Excepción marcada cuando se llama a un método en particular. Estoy intentando lo siguiente. @Test(expectedExceptions = SomeException.class) public void throwCheckedException() { List list = mock(List.class); when(list.get(0)).thenThrow(new SomeException()); String test = list.get(0); } public class SomeException extends Exception { } Sin embargo, eso produce el siguiente […]
Necesito probar una función cuyo resultado dependerá de la hora actual (usando el tiempo de Joda isBeforeNow() ). public boolean isAvailable() { return (this.someDate.isBeforeNow()); } ¿Es posible omitir / simular el tiempo del sistema con Mockito para que pueda probar la función de manera confiable?
clase pública A { método public void (boolean b) { if (b == verdadero) Método 1(); más método2 (); } private void method1 () {} private void method2 () {} } clase pública TestA { @Prueba public void testMethod () { A a = simulacro (clase A); a.method (verdadero); // cómo probar como verify (a) […]