ビジネスロジックの統合クラスを作成しようとしています。私がやったこと:アクティビティを開始し、別のアクティビティとサーバーにコマンドを送信するサービスを開始するクリックを実行し、2番目のアクティビティのインスタンスを取得し、しばらくしてからすべての作業を終了する停止を実行します-アクティビティとサービス
テストの成功 コンテンツ プロバイダーにデータがないかどうかを判別しますが、それだけでは十分ではありません。コマンドを送信したときに返されるサービスを確認する必要があります。問題は、サービスにサーバーからの応答を受け取るクラスのインスタンスがあり、テスト ケースからサービスを取得する方法がわからないことです。
class MyTestCase extends InstrumentationTestCase {
public void testMethos() {
Instrumentation instrumentation = getInstrumentation();
Log.i(TAG, "Try to add monitor");
ActivityMonitor monitor = instrumentation.addMonitor(
MyActivity.class.getName(),
null, false);
final DriverActivity myActivity = (MyActivity)
instrumentation.waitForMonitorWithTimeout(monitor, 5);
}
}
したがって、この場合、現在実行されているアクティビティに到達できますが、このアプローチはサービスではなくアクティビティにのみ適しています。サービスを取得できる場合は、サーバーからの応答を処理するために応答可能なクラスの内部インスタンスを取得します-リフレクションを介してそれを行います。
主な質問は、テスト ケースからサービス インスタンスを取得する方法です。