と から派生したテスト クラスを介してプレーンな Java クラスをテストするTestCase
とAndroidTestCase
、LogCat 出力が消えることに気付きました。
これらのメッセージの出力をキャプチャすることはできますか? ActivityInstrumentationTestCase2<>
または私の唯一の手段は、基本クラスとしてはるかに遅いものを使用することですか?
と から派生したテスト クラスを介してプレーンな Java クラスをテストするTestCase
とAndroidTestCase
、LogCat 出力が消えることに気付きました。
これらのメッセージの出力をキャプチャすることはできますか? ActivityInstrumentationTestCase2<>
または私の唯一の手段は、基本クラスとしてはるかに遅いものを使用することですか?
同様の問題がありました... ここでのポイントは、プロジェクトを 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
.
.
.
これらのステートメントは両方とも、logcat でログを生成します。
android.util.Log.d(TAG, "This is Log.d");
System.out.println("This is System.out.println");
Android Studio を使用しているすべてのユーザー向けです。Android DDMS ツール ウィンドウ (Cmd + 6) を開き、右上のドロップダウン ボックスを使用してフィルターをオフにすることができます。app:com.your.package.name
テスト出力をフィルタリングするデフォルトとして使用しているようです。
単純Log.v("MyIdentifier","MyMessage")
にステートメントを使用すると、単体テスト クラス自体とテスト対象の Android アプリケーションの両方から、すべてがログに記録されるようです。
この情報は、Android jUnit を初めて使用する人に役立つ場合があります。
Android jUnit テストはgetActivity()
、テスト クラス内から呼び出されたときにのみ実際にアクティビティを開始します。onCreate
get Activity が呼び出されない場合、たとえばまたはで記述したロギング呼び出しの結果は表示されませんonResume
。ただし、Android マニフェストで「メイン」および「ランチャー」とマークされたアクティビティがテスト中の場合、このルールには例外があるようです。