我注意到,当通过从TestCase
and派生的测试类测试普通 Java 类时AndroidTestCase
,LogCat 输出消失了。
是否仍然可以捕获这些消息的输出?或者我唯一的办法是使用更迟缓ActivityInstrumentationTestCase2<>
的作为基类?
我注意到,当通过从TestCase
and派生的测试类测试普通 Java 类时AndroidTestCase
,LogCat 输出消失了。
是否仍然可以捕获这些消息的输出?或者我唯一的办法是使用更迟缓ActivityInstrumentationTestCase2<>
的作为基类?
我有类似的问题......这里的重点是在 Eclipse 中可用的 logcat 视图在 Android Junit 模式下运行项目时不显示任何内容。至少,在我使用的 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 的人有所帮助:
getActivity()
Android jUnit 测试只有在从测试类中调用时才会真正启动一个活动。如果未调用 get Activity,您将看不到您编写的任何日志记录调用的结果,例如onCreate
或onResume
。尽管在 Android Manifest 中标记为“Main”和“Launcher”的 Activity 正在测试中,但这条规则似乎有一个例外。