Я пытаюсь протестировать API JavaMail и использую SpringRunner и PowerMockRunner, но это не удается.
@RunWith(PowerMockRunner.class)
@PowerMockRunnerDelegate(SpringRunner.class)
@PowerMockIgnore(value = {"javax.management.*"})
@SpringBootTest
public class BaseITest {
@PrepareForTest(value = {MyStaticHelper.class})
@Test
public void testListFolders() {
// mock static method
// Use JavaMail API
}
}
Я получаю это исключение:
javax.mail.MessagingException: java.security.NoSuchAlgorithmException: class configured for SSLContext: sun.security.ssl.SSLContextImpl$DefaultSSLContext not a SSLContext
Если я удаляю @PowerMockIgnore(value = {"javax.management. *"}) тогда я получаю это исключение:
Caused by: java.lang.LinkageError: loader constraint violation: loader (instance of org/powermock/core/classloader/MockClassLoader) previously initiated loading for a different type with name "javax/management/MBeanServer"
Используются следующие версии зависимостей:
- powermock-api-mockito:1.7.1
- powermock-module-junit4: 1.7.1
- mockito-all: 2.0.2-beta
- mockito-core: 2.8.9
Может кто-нибудь помочь?