20

と から派生したテスト クラスを介してプレーンな Java クラスをテストするTestCaseAndroidTestCase、LogCat 出力が消えることに気付きました。

これらのメッセージの出力をキャプチャすることはできますか? ActivityInstrumentationTestCase2<>または私の唯一の手段は、基本クラスとしてはるかに遅いものを使用することですか?

4

4 に答える 4

20

同様の問題がありました... ここでのポイントは、プロジェクトを Android Junit モードで実行すると、Eclipse で使用できる logcat ビューに何も表示されないことです。少なくとも、私が使用していた Android 2.1 では、それが動作です。

この問題を回避するには、コマンド ライン (ターミナル ウィンドウ) から logcat を確認します。

# check the device name you are using
# It gives something like this:
$ ./adb devices
List of devices attached 
emulator-5554   device

# open logcat of the device
$ ./adb -s emulator-5554 logcat
D/AndroidRuntime(  943): 
D/AndroidRuntime(  943): >>>>>> AndroidRuntime START com.android.internal.os.RuntimeInit <<<<<<
D/AndroidRuntime(  943): CheckJNI is ON
.
.
.
于 2011-10-28T12:23:33.770 に答える
7

これらのステートメントは両方とも、logcat でログを生成します。

    android.util.Log.d(TAG, "This is Log.d");
    System.out.println("This is System.out.println");
于 2011-05-12T21:49:59.133 に答える
3

Android Studio を使用しているすべてのユーザー向けです。Android DDMS ツール ウィンドウ (Cmd + 6) を開き、右上のドロップダウン ボックスを使用してフィルターをオフにすることができます。app:com.your.package.nameテスト出力をフィルタリングするデフォルトとして使用しているようです。

于 2014-12-03T04:11:44.680 に答える
2

単純Log.v("MyIdentifier","MyMessage")にステートメントを使用すると、単体テスト クラス自体とテスト対象の Android アプリケーションの両方から、すべてがログに記録されるようです。

この情報は、Android jUnit を初めて使用する人に役立つ場合があります。

Android jUnit テストはgetActivity()、テスト クラス内から呼び出されたときにのみ実際にアクティビティを開始します。onCreateget Activity が呼び出されない場合、たとえばまたはで記述したロギング呼び出しの結果は表示されませんonResume。ただし、Android マニフェストで「メイン」および「ランチャー」とマークされたアクティビティがテスト中の場合、このルールには例外があるようです。

于 2012-04-05T09:23:10.983 に答える