2016-08-19 4 views
0

Мне нужно написать testcase для исключения connectTimeout и SocketTimeout. Я использую powerMock для создания макетных объектов. Ниже мой код. Но я получаю исключение нулевого указателя для моих макетных объектов. Любая помощь приветствуетсятестирование powermock имитирует время HTTP-сервера для вызова клиента

package com.util; 
import java.net.ConnectException; 
import java.net.SocketTimeoutException; 
import java.net.URL; 
import javax.net.ssl.HttpsURLConnection; 

import org.json.JSONObject; 
import org.powermock.api.mockito.PowerMockito; 
import org.powermock.core.classloader.annotations.PowerMockIgnore; 
import org.powermock.core.classloader.annotations.PrepareForTest; 
import org.powermock.core.classloader.annotations.SuppressStaticInitializationFor; 
import org.powermock.modules.testng.PowerMockObjectFactory; 
import org.powermock.modules.testng.PowerMockTestCase; 
import org.testng.Assert; 
import org.testng.IObjectFactory; 
import org.testng.annotations.ObjectFactory; 
import org.testng.annotations.Test; 

@PowerMockIgnore("javax.management.*") 
@SuppressStaticInitializationFor("com.Sender") 
@PrepareForTest(Sender.class) 
public class SenderCatalogTest extends PowerMockTestCase{ 


@ObjectFactory 
public IObjectFactory getObjectFactory() { 
    return new PowerMockObjectFactory(); 
} 
@Test 
public void testSocketExceptionEvents() throws Exception{ 
    String url="https://www.google.co.in/"; 
    URL mockURL = PowerMockito.mock(URL.class); 
    PowerMockito.whenNew(URL.class).withArguments(url).thenReturn(mockURL); 
    SocketTimeoutException expectedException = new SocketTimeoutException(); 
    PowerMockito.when(mockURL.openConnection()).thenThrow(expectedException); 
    Sender sender = new Sender(); 
    String input="{\"level\":3,\"event\":{\"name\":\"myevent\",\"Address\":\"xyz\"}}"; 
    JSONObject vent = new JSONObject(input); 
    Assert.assertNotNull(sender.send(vent)); 

Пожалуйста, найдите для журналов

at com.Sender.send(Sender.java:81) 
at com.SenderCatalogTest.timeout(SenderCatalogTest.java:33) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
at java.lang.reflect.Method.invoke(Method.java:498) 
at org.junit.internal.runners.TestMethod.invoke(TestMethod.java:68) 
at org.powermock.modules.junit4.internal.impl.PowerMockJUnit44RunnerDelegateImpl$PowerMockJUnit44MethodRunner.runTestMethod(PowerMockJUnit44RunnerDelegateImpl.java:316) 
at org.junit.internal.runners.MethodRoadie$2.run(MethodRoadie.java:88) 
at org.junit.internal.runners.MethodRoadie.runBeforesThenTestThenAfters(MethodRoadie.java:96) 
at org.powermock.modules.junit4.internal.impl.PowerMockJUnit44RunnerDelegateImpl$PowerMockJUnit44MethodRunner.executeTest(PowerMockJUnit44RunnerDelegateImpl.java:300) 
at org.powermock.modules.junit4.internal.impl.PowerMockJUnit47RunnerDelegateImpl$PowerMockJUnit47MethodRunner.executeTestInSuper(PowerMockJUnit47RunnerDelegateImpl.java:131) 
at org.powermock.modules.junit4.internal.impl.PowerMockJUnit47RunnerDelegateImpl$PowerMockJUnit47MethodRunner.access$100(PowerMockJUnit47RunnerDelegateImpl.java:59) 
at org.powermock.modules.junit4.internal.impl.PowerMockJUnit47RunnerDelegateImpl$PowerMockJUnit47MethodRunner$TestExecutorStatement.evaluate(PowerMockJUnit47RunnerDelegateImpl.java:147) 
at org.powermock.modules.junit4.internal.impl.PowerMockJUnit47RunnerDelegateImpl$PowerMockJUnit47MethodRunner.evaluateStatement(PowerMockJUnit47RunnerDelegateImpl.java:107) 
at org.powermock.modules.junit4.internal.impl.PowerMockJUnit47RunnerDelegateImpl$PowerMockJUnit47MethodRunner.executeTest(PowerMockJUnit47RunnerDelegateImpl.java:82) 
at org.powermock.modules.junit4.internal.impl.PowerMockJUnit44RunnerDelegateImpl$PowerMockJUnit44MethodRunner.runBeforesThenTestThenAfters(PowerMockJUnit44RunnerDelegateImpl.java:288) 
at org.junit.internal.runners.MethodRoadie.runTest(MethodRoadie.java:86) 
at org.junit.internal.runners.MethodRoadie.run(MethodRoadie.java:49) 
at org.powermock.modules.junit4.internal.impl.PowerMockJUnit44RunnerDelegateImpl.invokeTestMethod(PowerMockJUnit44RunnerDelegateImpl.java:208) 
at org.powermock.modules.junit4.internal.impl.PowerMockJUnit44RunnerDelegateImpl.runMethods(PowerMockJUnit44RunnerDelegateImpl.java:147) 
at org.powermock.modules.junit4.internal.impl.PowerMockJUnit44RunnerDelegateImpl$1.run(PowerMockJUnit44RunnerDelegateImpl.java:121) 
at org.junit.internal.runners.ClassRoadie.runUnprotected(ClassRoadie.java:33) 
at org.junit.internal.runners.ClassRoadie.runProtected(ClassRoadie.java:45) 
at org.powermock.modules.junit4.internal.impl.PowerMockJUnit44RunnerDelegateImpl.run(PowerMockJUnit44RunnerDelegateImpl.java:123) 
at org.powermock.modules.junit4.common.internal.impl.JUnit4TestSuiteChunkerImpl.run(JUnit4TestSuiteChunkerImpl.java:121) 
at org.powermock.modules.junit4.common.internal.impl.AbstractCommonPowerMockRunner.run(AbstractCommonPowerMockRunner.java:53) 
at org.powermock.modules.junit4.PowerMockRunner.run(PowerMockRunner.java:59) 
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:86) 
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) 
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459) 
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675) 
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382) 
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192) 
2016-08-19 12:49:34,107 main ERROR Could not reconfigure JMX 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" 
at java.lang.ClassLoader.defineClass1(Native Method) 
at java.lang.ClassLoader.defineClass(ClassLoader.java:763) 
at org.powermock.core.classloader.MockClassLoader.loadUnmockedClass(MockClassLoader.java:250) 
at org.powermock.core.classloader.MockClassLoader.loadModifiedClass(MockClassLoader.java:194) 
at org.powermock.core.classloader.DeferSupportingClassLoader.loadClass(DeferSupportingClassLoader.java:71) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 
at org.apache.logging.log4j.core.jmx.Server.unregisterAllMatching(Server.java:328) 
at org.apache.logging.log4j.core.jmx.Server.unregisterLoggerContext(Server.java:250) 
at org.apache.logging.log4j.core.jmx.Server.reregisterMBeansAfterReconfigure(Server.java:162) 
at org.apache.logging.log4j.core.jmx.Server.reregisterMBeansAfterReconfigure(Server.java:138) 
at org.apache.logging.log4j.core.LoggerContext.setConfiguration(LoggerContext.java:502) 
at org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:561) 
at org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:577) 
at org.apache.logging.log4j.core.LoggerContext.start(LoggerContext.java:212) 
at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:152) 
at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:45) 
at org.apache.logging.log4j.LogManager.getContext(LogManager.java:194) 
at org.apache.logging.log4j.spi.AbstractLoggerAdapter.getContext(AbstractLoggerAdapter.java:103) 
at org.apache.logging.slf4j.Log4jLoggerFactory.getContext(Log4jLoggerFactory.java:43) 
at org.apache.logging.log4j.spi.AbstractLoggerAdapter.getLogger(AbstractLoggerAdapter.java:42) 
at org.apache.logging.slf4j.Log4jLoggerFactory.getLogger(Log4jLoggerFactory.java:29) 
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:329) 
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:349) 
at com.SenderUtil.<clinit>(SenderUtil.java:17) 
at com.SAEventSender.<clinit>(SASender.java:15) 
at com.Sender.send(Sender.java:148) 
at com.SenderCatalogTest.timeout(SenderCatalogTest.java:33) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
at java.lang.reflect.Method.invoke(Method.java:498) 
at org.junit.internal.runners.TestMethod.invoke(TestMethod.java:68) 
at org.powermock.modules.junit4.internal.impl.PowerMockJUnit44RunnerDelegateImpl$PowerMockJUnit44MethodRunner.runTestMethod(PowerMockJUnit44RunnerDelegateImpl.java:316) 
at org.junit.internal.runners.MethodRoadie$2.run(MethodRoadie.java:88) 
at org.junit.internal.runners.MethodRoadie.runBeforesThenTestThenAfters(MethodRoadie.java:96) 
at org.powermock.modules.junit4.internal.impl.PowerMockJUnit44RunnerDelegateImpl$PowerMockJUnit44MethodRunner.executeTest(PowerMockJUnit44RunnerDelegateImpl.java:300) 
at org.powermock.modules.junit4.internal.impl.PowerMockJUnit47RunnerDelegateImpl$PowerMockJUnit47MethodRunner.executeTestInSuper(PowerMockJUnit47RunnerDelegateImpl.java:131) 
at org.powermock.modules.junit4.internal.impl.PowerMockJUnit47RunnerDelegateImpl$PowerMockJUnit47MethodRunner.access$100(PowerMockJUnit47RunnerDelegateImpl.java:59) 
at org.powermock.modules.junit4.internal.impl.PowerMockJUnit47RunnerDelegateImpl$PowerMockJUnit47MethodRunner$TestExecutorStatement.evaluate(PowerMockJUnit47RunnerDelegateImpl.java:147) 
at org.powermock.modules.junit4.internal.impl.PowerMockJUnit47RunnerDelegateImpl$PowerMockJUnit47MethodRunner.evaluateStatement(PowerMockJUnit47RunnerDelegateImpl.java:107) 
at org.powermock.modules.junit4.internal.impl.PowerMockJUnit47RunnerDelegateImpl$PowerMockJUnit47MethodRunner.executeTest(PowerMockJUnit47RunnerDelegateImpl.java:82) 
at org.powermock.modules.junit4.internal.impl.PowerMockJUnit44RunnerDelegateImpl$PowerMockJUnit44MethodRunner.runBeforesThenTestThenAfters(PowerMockJUnit44RunnerDelegateImpl.java:288) 
at org.junit.internal.runners.MethodRoadie.runTest(MethodRoadie.java:86) 
at org.junit.internal.runners.MethodRoadie.run(MethodRoadie.java:49) 
at org.powermock.modules.junit4.internal.impl.PowerMockJUnit44RunnerDelegateImpl.invokeTestMethod(PowerMockJUnit44RunnerDelegateImpl.java:208) 
at org.powermock.modules.junit4.internal.impl.PowerMockJUnit44RunnerDelegateImpl.runMethods(PowerMockJUnit44RunnerDelegateImpl.java:147) 
at org.powermock.modules.junit4.internal.impl.PowerMockJUnit44RunnerDelegateImpl$1.run(PowerMockJUnit44RunnerDelegateImpl.java:121) 
at org.junit.internal.runners.ClassRoadie.runUnprotected(ClassRoadie.java:33) 
at org.junit.internal.runners.ClassRoadie.runProtected(ClassRoadie.java:45) 
at org.powermock.modules.junit4.internal.impl.PowerMockJUnit44RunnerDelegateImpl.run(PowerMockJUnit44RunnerDelegateImpl.java:123) 
at org.powermock.modules.junit4.common.internal.impl.JUnit4TestSuiteChunkerImpl.run(JUnit4TestSuiteChunkerImpl.java:121) 
at org.powermock.modules.junit4.common.internal.impl.AbstractCommonPowerMockRunner.run(AbstractCommonPowerMockRunner.java:53) 
at org.powermock.modules.junit4.PowerMockRunner.run(PowerMockRunner.java:59) 
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:86) 
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) 
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459) 
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675) 
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382) 
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192) 

2016-08-19 12:49:34,182 main ERROR Could not reconfigure JMX java.lang.LinkageError: javax/management/MBeanServer 
at org.apache.logging.log4j.core.jmx.Server.unregisterAllMatching(Server.java:328) 
at org.apache.logging.log4j.core.jmx.Server.unregisterLoggerContext(Server.java:250) 
at org.apache.logging.log4j.core.jmx.Server.reregisterMBeansAfterReconfigure(Server.java:162) 
at org.apache.logging.log4j.core.jmx.Server.reregisterMBeansAfterReconfigure(Server.java:138) 
at org.apache.logging.log4j.core.LoggerContext.setConfiguration(LoggerContext.java:502) 
at org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:561) 
at org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:577) 
at org.apache.logging.log4j.core.LoggerContext.start(LoggerContext.java:212) 
at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:152) 
at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:45) 
at org.apache.logging.log4j.LogManager.getContext(LogManager.java:155) 
at com.SenderUtil.initLogger(SenderUtil.java:64) 
at com.SenderUtil.<clinit>(SenderUtil.java:18) 
at com.SAEventSender.<clinit>(SASender.java:15) 
at com.Sender.send(Sender.java:148) 
at com.SenderCatalogTest.timeout(SenderCatalogTest.java:33) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
at java.lang.reflect.Method.invoke(Method.java:498) 
at org.junit.internal.runners.TestMethod.invoke(TestMethod.java:68) 
at org.powermock.modules.junit4.internal.impl.PowerMockJUnit44RunnerDelegateImpl$PowerMockJUnit44MethodRunner.runTestMethod(PowerMockJUnit44RunnerDelegateImpl.java:316) 
at org.junit.internal.runners.MethodRoadie$2.run(MethodRoadie.java:88) 
at org.junit.internal.runners.MethodRoadie.runBeforesThenTestThenAfters(MethodRoadie.java:96) 
at org.powermock.modules.junit4.internal.impl.PowerMockJUnit44RunnerDelegateImpl$PowerMockJUnit44MethodRunner.executeTest(PowerMockJUnit44RunnerDelegateImpl.java:300) 
at org.powermock.modules.junit4.internal.impl.PowerMockJUnit47RunnerDelegateImpl$PowerMockJUnit47MethodRunner.executeTestInSuper(PowerMockJUnit47RunnerDelegateImpl.java:131) 
at org.powermock.modules.junit4.internal.impl.PowerMockJUnit47RunnerDelegateImpl$PowerMockJUnit47MethodRunner.access$100(PowerMockJUnit47RunnerDelegateImpl.java:59) 
at org.powermock.modules.junit4.internal.impl.PowerMockJUnit47RunnerDelegateImpl$PowerMockJUnit47MethodRunner$TestExecutorStatement.evaluate(PowerMockJUnit47RunnerDelegateImpl.java:147) 
at org.powermock.modules.junit4.internal.impl.PowerMockJUnit47RunnerDelegateImpl$PowerMockJUnit47MethodRunner.evaluateStatement(PowerMockJUnit47RunnerDelegateImpl.java:107) 
at org.powermock.modules.junit4.internal.impl.PowerMockJUnit47RunnerDelegateImpl$PowerMockJUnit47MethodRunner.executeTest(PowerMockJUnit47RunnerDelegateImpl.java:82) 
at org.powermock.modules.junit4.internal.impl.PowerMockJUnit44RunnerDelegateImpl$PowerMockJUnit44MethodRunner.runBeforesThenTestThenAfters(PowerMockJUnit44RunnerDelegateImpl.java:288) 
at org.junit.internal.runners.MethodRoadie.runTest(MethodRoadie.java:86) 
at org.junit.internal.runners.MethodRoadie.run(MethodRoadie.java:49) 
at org.powermock.modules.junit4.internal.impl.PowerMockJUnit44RunnerDelegateImpl.invokeTestMethod(PowerMockJUnit44RunnerDelegateImpl.java:208) 
at org.powermock.modules.junit4.internal.impl.PowerMockJUnit44RunnerDelegateImpl.runMethods(PowerMockJUnit44RunnerDelegateImpl.java:147) 
at org.powermock.modules.junit4.internal.impl.PowerMockJUnit44RunnerDelegateImpl$1.run(PowerMockJUnit44RunnerDelegateImpl.java:121) 
at org.junit.internal.runners.ClassRoadie.runUnprotected(ClassRoadie.java:33) 
at org.junit.internal.runners.ClassRoadie.runProtected(ClassRoadie.java:45) 
at org.powermock.modules.junit4.internal.impl.PowerMockJUnit44RunnerDelegateImpl.run(PowerMockJUnit44RunnerDelegateImpl.java:123) 
at org.powermock.modules.junit4.common.internal.impl.JUnit4TestSuiteChunkerImpl.run(JUnit4TestSuiteChunkerImpl.java:121) 
at org.powermock.modules.junit4.common.internal.impl.AbstractCommonPowerMockRunner.run(AbstractCommonPowerMockRunner.java:53) 
at org.powermock.modules.junit4.PowerMockRunner.run(PowerMockRunner.java:59) 
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:86) 
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) 
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459) 
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675) 
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382) 
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192) 

2016-08-19 12:49:34,616 pool-1-thread-1 ERROR Caught exception executing shutdown hook Shutdown callback for LoggerContext[name=6842775d] java.lang.LinkageError: javax/management/MBeanServer 
at org.apache.logging.log4j.core.jmx.Server.unregisterAllMatching(Server.java:328) 
at org.apache.logging.log4j.core.jmx.Server.unregisterLoggerContext(Server.java:250) 
at org.apache.logging.log4j.core.jmx.Server.unregisterLoggerContext(Server.java:237) 
at org.apache.logging.log4j.core.LoggerContext.stop(LoggerContext.java:295) 
at org.apache.logging.log4j.core.LoggerContext$1.run(LoggerContext.java:260) 
at org.apache.logging.log4j.core.util.DefaultShutdownCallbackRegistry$RegisteredCancellable.run(DefaultShutdownCallbackRegistry.java:102) 
at org.apache.logging.log4j.core.util.DefaultShutdownCallbackRegistry.run(DefaultShutdownCallbackRegistry.java:72) 
at java.lang.Thread.run(Thread.java:745) 

2016-08-19 12:49:34,620 pool-1-thread-1 ERROR Caught exception executing shutdown hook Shutdown callback for LoggerContext[name=Default] java.lang.LinkageError: javax/management/MBeanServer 
at org.apache.logging.log4j.core.jmx.Server.unregisterAllMatching(Server.java:328) 
at org.apache.logging.log4j.core.jmx.Server.unregisterLoggerContext(Server.java:250) 
at org.apache.logging.log4j.core.jmx.Server.unregisterLoggerContext(Server.java:237) 
at org.apache.logging.log4j.core.LoggerContext.stop(LoggerContext.java:295) 
at org.apache.logging.log4j.core.LoggerContext$1.run(LoggerContext.java:260) 
at org.apache.logging.log4j.core.util.DefaultShutdownCallbackRegistry$RegisteredCancellable.run(DefaultShutdownCallbackRegistry.java:102) 
at org.apache.logging.log4j.core.util.DefaultShutdownCallbackRegistry.run(DefaultShutdownCallbackRegistry.java:72) 
at java.lang.Thread.run(Thread.java:745) 

Ниже мой класс Sender метода отправки

public String send(JSONObject vent) throws IOException{ 
    String method; 
    int level; 
    HttpsURLConnection conn = null; 

    try { 

     URL obj = new URL(url); 
     conn = (HttpsURLConnection) obj.openConnection();// line number 81 
     conn.setRequestMethod(method); 
     initializeURL(conn); 
     .... 
     } 
     catch(SocketException e){ 
     } 
     catch(ConnectException e){ 
     } 
+0

Не могли бы вы вставить здесь трассировку стека, что было бы более конкретным для анализа и ответа. –

+0

@KumarMekala Было бы полезно, если вы разместите код класса Sender', особенно метод 'send()', и укажите на строку 81 (где происходит NPE) – noscreenname

+0

@noscreenname Я добавил класс отправителя. а также упомянутый код для строки номер 81 – RK3

ответ

0

Наконец-то я смог его решить. Если некоторые из них снова получат ту же проблему. В моей проблеме с кодом была строка arguments. Я пытался пройти

String url = "https://www.google.co.in/";

как параметр Url. Но в действительности это было null.

URL mockURL = PowerMockito.mock (URL.class); PowerMockito.whenNew (URL.class) .withArguments (url) .thenReturn (mockURL);

withArguments пытаются совместить, если параметры одинаковы. При том же параметре url на моем макетном и фактическом объекте в коде я смог продолжить исключение нулевого указателя

0

Acording в powermock documentation, в разделе макета конструктора, вы должны делать что-то вроде этого:

URL mockURL = PowerMockito.mock(URL.class); 
expectNew(File.class, url).andReturn(mockURL); 
replay(mockURL, File.class); 

Кроме того, обязательно используйте аннотации @PrepareForTest(Sender.class) и @RunWith(PowerMockRunner.class)

+0

Я не вижу этих методов, как указано в документах. И да, я использую '@PrepareForTest (Sender.class) и @RunWith (PowerMockRunner.class)' аннотации – RK3

+0

@ RK3, это часть библиотеки easymock – noscreenname

+0

не может быть сделано с Powermock. Почему я должен использовать easymock? – RK3