мне нужно издеваться следующим кодом:PowerMock/EasyMock для JMX ManagementFactory
final MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();
mbs.registerMBean(testMBean, new ObjectName("testObjectName");
Я являюсь usign PowerMock издеваться ManagementFactory с следующим фрагментом кода:
На уровне класса, я настроил:
@ RunWith (PowerMockRunner.class) @PrepareForTest ({ManagementFactory.class})
Создать Mock Класс MBeanServer:
MBeanServer mockMBeanServer = createMock (MBeanServer.class);
создать Expetation с помощью EasyMock:
EasyMock.expect (ManagementFactory.getPlatformMBeanServer()) .andReturn (mockMBeanServer);
В коде выше, я получаю следующее сообщение об ошибке:
java.lang.IllegalStateException: incompatible return value type at org.easymock.internal.MocksControl.andReturn(MocksControl.java:218)
Наконец, после того, как попробовал много, мне нужно игнорировать этот класс:
@PowerMockIgnore({
"org.apache.commons.logging.*",
"javax.management.*",
})
Мои тестовые примеры работают , за исключением насмешек и тестирования классов MBean. Любой лучший вариант?