Я хотел бы использовать Powermock с Mockito, чтобы высмеивать некоторые вызовы статических методов. Я следил за инструкциями и примерами из SO, а также с PowerMock Начало работы и MockStatic страниц Я могу, но еще не закончен вызов mockStatic().
Когда я вызываю mockStatic (foo.class) из моего тестового класса, мне предоставляется исключение:
java.lang.NoClassDefFoundError: org/Mockito/mock/MockName
at org.powermock.api.mockito.PowerMockito.mockStatic(PowerMockito.java:70)
at ...my test class method call...
Я уверен, что это проблема с настройкой, так как я нашел терминологию, используемую для настройки этого, чтобы быть довольно запутанным. Я захватил Mockito Zip из PowerMock downloads. В Eclipse (3.5.2) я открыл свойства проекта и добавил все Jars в путь сборки. Я также попробовал добавить всю распакованную папку powermockito в мою среду классов vars classpath, а затем просто фильтр powermockito специально, когда это не сработало.
У меня есть эти аннотации на уровне класса моего тестового класса, в соответствии с инструкциями powermock:
@RunWith(PowerMockRunner.class)
@PrepareForTest(ApplicationContextLoader.class)
Кроме того, эти импортные данные, специфичные для производства:
import org.powermock.api.mockito.PowerMockito;
import org.powermock.core.classloader.annotations.PrepareForTest;
import org.powermock.modules.junit4.PowerMockRunner;
Для тех из вас, кто раньше использовал PowerMockito, даже просто указатель в правильном направлении или что-то, что нужно проверить, было бы действительно полезно. Я изо всех сил пытаюсь понять, как моя настройка отличается от той, которую я видел, - из того, что я могу сказать, - того же синтаксиса.