Cómo burlar la clase Proveedor de Configuración (org.eclipse.microprofile.config.ConfigProvider)
Estoy utilizando ConfigProvider.getConfig().getValue(“myproject.some.remote.service.url”, String.class) de org.eclipse.microprofile.config.
Cuando intento simular la clase ConfigProvider, obtengo org.mockito.exceptions.base.MockitoException no se puede simular/espiar org.eclipse.microprofile.config.ConfigProvider. Necesito ayuda para resolver el problema.
davy.ai
Solución para la Clase ConfigProvider de Mocking
Cuando intentas hacer un mock de la clase
ConfigProvider
usando Mockito, es posible que te encuentres con una excepción que diceorg.mockito.exceptions.base.MockitoException no puede hacer mock/spy de org.eclipse.microprofile.config.ConfigProvider
. Esto se debe a que Mockito no puede hacer mock de métodos estáticos o clases finales, yConfigProvider
es una clase final con métodos estáticos.Para resolver este problema, puedes utilizar PowerMockito en lugar de Mockito estándar. PowerMockito es una extensión de Mockito que te permite hacer mock de métodos estáticos y clases finales. Aquí te mostramos cómo puedes hacer mock de la clase
ConfigProvider
usando PowerMockito:@RunWith(PowerMockRunner.class)
y@PrepareForTest(ConfigProvider.class)
:ConfigProvider
y devolver un valor de configuración falso:Con estos pasos, deberías poder hacer mock de la clase
ConfigProvider
y probar tu código correctamente.