0

動作中の Service があります (手動でテストしたため、動作することはわかっています)。ただし、JUnit/Espresso テスト ケースを作成しようとしています。Android Studio はテストに「合格」したと言っていましたが、サービスを呼び出しても効果はありません。「サービスを開始しています」というデバッグ メッセージを表示しようとしましたが、**コンソールにログ メッセージが表示されません。

誰にもアイデアはありますか?ありがとう!

private static StringBuilder log = new StringBuilder();

@Test
public void testWithoutLocation(){
    Intent intent = new Intent(InstrumentationRegistry.getContext(), SendMessage.class);

    intent.putExtra(BaseService.TAG_PERSON_ID, "ABCD");
    intent.putExtra(BaseService.TAG_MESSAGE_ID, "12345");

    try {
        log.append("Starting the service");
        oServiceTestRule.startService(intent);


    } catch (TimeoutException e) {
        e.printStackTrace();
        fail("TimeoutException caught");
    }

}
4

1 に答える 1

0

現在のsnipでは、あなたが を表示するのを忘れている問題が 1 つだけありましたlog。したがって、テストが実行され(あなたが言ったように合格)、logcatアクティブ化されていることを確認してください(そしてlevelを選択しverboseてください)。したがって、これを変更してみてください:

try {
        log.append("Starting the service");
        oServiceTestRule.startService(intent);
        Log.d("YOUR_TAG", "testWithoutLocation: " + log.toString())

    } catch (TimeoutException e) {
        e.printStackTrace();
        fail("TimeoutException caught");
    }

それでも機能しない場合は、再起動logcatするか、情報を追加してください。

于 2016-12-21T03:43:57.470 に答える