Saltar al contenido

El uso de PowerMockito.whenNew () no se está burlando y se llama al método original

Solución:

Necesitas poner la clase donde el se llama constructor en el @PrepareForTest anotación en lugar de la clase que se está construyendo; consulte Construcción simulada de nuevos objetos.

En tu caso:

@PrepareForTest(MyQueryClass.class)

@PrepareForTest(A.class)

Mas general:

@PrepareForTest(NewInstanceClass.class)

@PrepareForTest(ClassThatCreatesTheNewInstance.class)

Como @TrueDub mencionó en su respuesta aceptada, debe agregar la clase donde se llama al constructor al @PrepareForTest.

Sin embargo, si hace esto, la cobertura para esa clase según lo informado por eclemma y Sonar será cero para esa clase.

Wiki bajoterra

Vamos a reemplazar Javassist con ByteBuddy (# 727) y debería ayudar a resolver este problema anterior. Pero ahora mismo NO HAY MANERA DE USAR PowerMock con instrumentación sobre la marcha de JaCoCo. Y no hay solución para obtener cobertura de código en IDE.

Entonces, la solución aquí sería refactorizar el código real para usar una fábrica estática que devolvería una instancia de esa clase y luego simularla estáticamente.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *