Я установил JMockit для использования с некоторыми тестами JUnit, используя Robolectric, но я получаю ошибки. Я использую maven для запуска тестов.JMockit javaagent не инициализируется JMockit
Когда я запускаю тест с MVN тест и javaagent сконфигурированный, как указано here я получаю обычное исключение:
java.lang.IllegalStateException: JMockit не был инициализирован; проверить, что jmockit.jar предшествует junit.jar в пути к классам (при использовании JUnit, если нет, то обратитесь к документации)
Я подтверждено, что JMockit находится на пути к классам Перед JUnit с использованием mvn dependency:build-classpath
и mvn test --debug
. Я также подтвердил, что аргумент -javaagent
надлежащим образом вызывается с использованием mvn test --debug
.
Библиотека версии:
- JDK 1.6
- JMockit 1,5
- JUnit 4.8.2
- Robolectric 2,2 Robolectric бегун мешает мне с помощью JMockit бегуна.
- Maven 3.0.3
- Surefire класс 2.14.1
Испытание следующим образом:
@RunWith(RobolectricTestRunner.class)
public class HelpFragTest {
FragmentActivity activity;
FragmentManager fragmentManager;
@Mocked ActionBarManager actionBarManager;
@Before
public void setup() throws Exception {
activity = Robolectric.buildActivity(FragmentActivity.class).create().resume().get();
fragmentManager = activity.getSupportFragmentManager();
MyApplication.instance().setActionBarManager(actionBarManager);
}
@Test
public void testShow(){
new NonStrictExpectations() {{
Helper.staticMethod(anyString, anyString);
actionBarManager.clear();
actionBarManager.setTitle(anyString);
actionBarManager.refresh();
}};
HelpFrag frag = HelpFrag.newInstance();
FragmentTransaction transaction = fragmentManager.beginTransaction();
transaction.add(frag, StringUtils.EMPTY);
transaction.commit();
assertTrue(frag.isVisible());
}
}
Я также попытался без любого явного бегуна или JavaAgent, в этом случае я получаю следующее исключение от того же кода:
java.lang.IllegalStateException: Invalid место для записи ожидания
связанных с этим вопросом: [java.lang.NoSuchMethodException с JMockit 1,5 и 2,2 Robolectric] (http://stackoverflow.com/q/20080978/16487). –