2016-12-21 11 views
0

私は手動でをテストしたため、動作しているサービス()があります。しかし、私はJUnit/Espressoテストケースを構築しようとしています。 Androidスタジオからは、テストは「合格」と言われましたが、サービスを呼び出すことによる効果は見られません。デバッグメッセージ「サービスを開始します。」を入れようとしましたが、**コンソールにログメッセージが表示されません。テストログ出力が表示されないサービス

誰にも分かりませんか?ありがとう!あなたの現在のsnip

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"); 
    } 

} 
+0

あなたは 'log'を表示するように呼びませんでした。試してみると、Log.d(TAG、log.toString());)を試してみてください。 – NamNH

+0

Steve ... Log.dを試しましたが、ロックはありませんでした。 –

+0

これはmavenプロジェクトですか? – Jobin

答えて

0

、私はあなたがlogを表示することを忘れ一つだけ問題を見ました。したがって、あなたのテストが実行されていることを確認してください(あなたの言ったように渡されます)、あなたのlogcatがアクティブになります(そして、select verbose level)。だから、これを変更しよう:

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を再起動するか、より多くの情報を追加してみてください。

+0

これはあなたの質問に答えるのに役立ちますか? – NamNH

関連する問題