2016-05-30 7 views
0

Я уже писал несколько тестов с эспрессо для проверки фрагмента.Эспрессо: принимать события вещания

Мой фрагмент имеет широковещательный приемник и обновит его виды после получения событий вещания.

Но я не могу найти способ отправить широковещательное событие, которое может получить мой тестируемый фрагмент.

Любой, у кого есть решение, или лучшая архитектура, чтобы предложить?

Я использую 'com.android.support.test.espresso:espresso-core:2.2.2'

ответ

0

Я до сих пор не могу получить мое широковещательное события, которое должно получить испытанный фрагмент, но здесь обходной путь я использовал:

я вручную вызвать метод фрагмента, который был бы вызванный приемом вещательного события. Но мне нужно, чтобы вызвать этот метод из UIThread:

mActivityRule.runOnUiThread(new Runnable() { @Override public void run() { mFragment.onBroadcastEvent(); } });

Или:

InstrumentationRegistry.getInstrumentation().runOnMainSync(new Runnable() { @Override public void run() { mFragment.onBroadcastEvent(); } });

В противном случае я получаю ошибку:

Only the original thread that created a view hierarchy can touch its views.

Смежные вопросы