У меня есть Android Проект, где я пишу какой-то UT. Но в этом проекте я не могу издеваться над SSLContext и KeyManagerFactory. Все время у меня одна и та же ошибка. Я пробую другую версию mockito, но это не помогает. Основная проблема в том, что один и тот же образец кода работает в другом проекте, и я не знаю, в чем может быть проблема. Кто-нибудь может помочь с этим?
Caused by: org.mockito.exceptions.base.MockitoException:
Mockito cannot mock this class: class javax.net.ssl.SSLContext.
Mockito can only mock non-private & non-final classes.
If you're not sure why you're getting this error, please report to the mailing list.
Java : 1.8
JVM vendor name : JetBrains s.r.o
JVM vendor version : 25.242-b01
JVM name : OpenJDK 64-Bit Server VM
JVM version : 1.8.0_242-release-1644-b01
JVM info : mixed mode
OS name : Windows 10
OS version : 10.0
Код того, что я пытаюсь высмеять.
@RunWith(PowerMockRunner.class)
@PrepareForTest({SSLContext.class})
public class SSLTest {
@Mock
private SSLContext context;
@Test
public void testSomeMethod() throws Exception {
// create the mock to return by getInstance()
// mock the static method getInstance() to return above created mock context
PowerMockito.mockStatic(SSLContext.class);
Mockito.when(SSLContext.getInstance("SSL")).thenReturn(context);
// invoke the object under test
//TODO - add verifications / assertions
}
}