ActivityInstrumentationTestCase2.getActivity () создает исключение ClassCastException для библиотек. - PullRequest
0 голосов
/ 29 марта 2012

Я пишу тестовые случаи Android JUnit для проекта A, в котором в качестве библиотеки используется проект B (Свойства проекта / Android / Библиотека).Моим тестовым кейсам необходим доступ к ресурсам (просмотр идентификаторов, строк и т. Д.) Как из Проекта А, так и из Проекта Б. Если я добавлю Проект А и / или Проект Б как Android / Библиотеки или как Java Build Path / Projects в мой тестовый проект,любой вызов ActivityInstrumentationTestCase2.getActivity () вызывает исключение ClassCastException.

Если я не добавлю их, вызов возвращает соответствующее действие, но у меня нет доступа к идентификаторам ресурсов двух тестируемых проектов.У меня также нет доступа к объектам в проекте B, которые необходимы для правильного тестирования проекта A. Здесь я не могу использовать фиктивные объекты.

Кто-нибудь сталкивался и разрешал это раньше?

1 Ответ

0 голосов
/ 30 марта 2012

Попробуйте получить доступ к ресурсам из библиотеки: (я думаю, что это будет работать)

getInstrumentation().getTargetContext().getResources()...;

Это загрузит ресурсы из тестового проекта: (определенно работает)

getInstrumentation().getContext().getResources()...;
...