2010-10-10 5 views
8

У меня есть файл XML в каталоге ресурсов моего тестового приложения. Я хочу получить доступ к этому файлу из моего метода класса тестового класса.android - доступ к активам тестового приложения

т.е..,

общественности статической TestSuite люкс() { InputStream поток = // Некоторый код, который возвращает актив }

Любая идея, как я могу это сделать? Я попытался с Resources.Resources.getSystem(). GetAssets(), но не повезло :-(. Помогите пожалуйста.

Thanx в АДВ, Джозеф

ответ

2
final AssetManager assetMgr = context.getResources().getAssets(); 

final InputStream fileIn = assetMgr.open("my_file.txt", AssetManager.ACCESS_STREAMING); 

Мы можем также использовать этот метод link text для XML -файл.

+0

Hi Damian, Thanx для ответа. – Joseph

+0

Привет, Дамиан, спасибо за ответ.
Как получить объект контекста здесь? потому что набор() является статическим методом, и класс не наследует контекст. – Joseph

+0

Попробуйте использовать Android-тест, где у вас есть TestActivity. Evert Activity расширяет контекст. –

26

я столкнулся с той же проблемой с моим тестовым приложением. к сожалению, это выглядит как getContext() в тестовом случае классе фактически возвращает контекст тестируемого приложения. для того, чтобы получить контекст тестовое приложение, вы должны наследовать от InstrumentationTestCase, а затем вызовите getInstrumentation().getContext(), чтобы получить контекст тестового приложения.

+0

Thx mikes, я не поймал это перед вашим сообщением! – Snicolas

+0

Работал для меня. Благодаря! –

+0

Можете ли вы предоставить образец? getInstrumentation всегда возвращает null для меня. –