2016-05-30 7 views
0

私はエスプレッソでいくつかのテストを書いて、断片をテストしてきました。エスプレッソ:放送イベントを受信

私のフラグメントにはブロードキャストレシーバーがあり、ブロードキャストイベントを受信するとそのビューが更新されます。

しかし、テストされたフラグメントが受信できるブロードキャストイベントを送信する方法が見つかりません。

ソリューションをお持ちの方、またはより良いアーキテクチャをお持ちの方?

私は、私はまだ私のブロードキャストイベントがテストフラグメントによって受信されることを得るが、ここで私が使用し、回避策であることはできません'com.android.support.test.espresso:espresso-core:2.2.2'

答えて

0

を使用しています:

私は手動になりフラグメントメソッドを呼び出しますブロードキャストイベントの受信時に呼び出されます。そうでなければ、私はエラーを取得する

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

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

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

または:しかし、私はUIThreadからそのメソッドを呼び出す必要があります

関連する問題