【发布时间】:2014-02-17 12:16:42
【问题描述】:
我需要在运行时从代码中确定应用程序是否在 TestInstrumentation 下运行。
我可以使用一些 env/system 变量来初始化测试环境,但是 Eclipse ADK 启动配置不允许我这样做。
默认的 Android 系统属性和环境没有任何关于它的数据。此外,无论应用程序是定期启动还是在测试中,它们都是相同的。
这可能是一个解决方案:Is it possible to find out if an Android application runs as part of an instrumentation test 但由于我不测试活动,因此所有建议的方法都不起作用。 ActivityManager.isRunningInTestHarness() 方法在后台使用了这个:
SystemProperties.getBoolean("ro.test_harness")
在我的情况下总是返回 false。 (要使用隐藏的 android.os.SystemProperties 类,我使用反射)。
我还能做些什么来尝试从应用程序内部确定它是否正在测试中?
【问题讨论】:
标签: android junit bootstrapping