Я видел, что я не единственный, у кого есть эта проблема, но я не нахожу правильный ответ. У меня есть проект Android, который я хочу проверить. Я создаю тестовый класс junit для каждого класса моего проекта. Моя проблема в том, что когда я запускаю свой тест, у меня есть следующая ошибка:
java.lang.NoClassDefFoundError: android/content/Context
Это мой тест класса:
public class DevicesBDDTest extends TestCase {
DevicesBDD bdd;
/**
* @throws java.lang.Exception
*/
protected static void setUpBeforeClass() throws Exception {
}
/**
* @throws java.lang.Exception
*/
protected static void tearDownAfterClass() throws Exception {
}
protected void setUp() throws Exception {
super.setUp();
Context ctx = mock(Context.class);
final MaBaseSQLiteInterface mockMaBaseSQLite = mock(MaBaseSQLiteInterface.class);
bdd = new DevicesBDD(ctx){
@Override
public MaBaseSQLiteInterface createMaBaseSQlite(Context context) {
return mockMaBaseSQLite;
}
};
}
protected void tearDown() throws Exception {
super.tearDown();
}
public void test() {
assertEquals(1, 1);
}
}
У моего класса DevicesBDD нужен объект Context, поэтому я создаю mock (с mockito). Я тоже пытался использовать объект MockContext, но он не работает.
Это мой путь сборки Java:
- Mockito-все-1.9.5.jar
- Android 2.1 → android.jar
- Зависимости от Android → annotations.jar
- Июнь 3 → junit.jar