InstrumentationTestRunner 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
Instrumentation
针对 Android 包(应用程序)运行各种类型的 junit.framework.TestCase
s。
[Android.Runtime.Register("android/test/InstrumentationTestRunner", DoNotGenerateAcw=true)]
public class InstrumentationTestRunner : Android.App.Instrumentation
[<Android.Runtime.Register("android/test/InstrumentationTestRunner", DoNotGenerateAcw=true)>]
type InstrumentationTestRunner = class
inherit Instrumentation
- 继承
- 属性
注解
Instrumentation
针对 Android 包(应用程序)运行各种类型的 junit.framework.TestCase
s。
<div class=“special reference”><h3>Developer Guides</h3>
有关应用程序测试的详细信息,请阅读 测试 开发人员指南。
</div>
<h3>典型用法</h3><ol><li>Write junit.framework.TestCase
s,用于针对包中的类执行单元、功能或性能测试。 通常,这些是从:<ul><li><android.test.ActivityInstrumentationTestCase2
/li><<android.test.ActivityUnitTestCase
>/<><android.test.ApplicationTestCase
android.test.AndroidTestCase
<><>>li/li/>android.test.InstrumentationTestCase
<<>li/android.test.ProviderTestCase
<android.test.ServiceTestCase
><>><><li/>><<android.test.SingleLaunchActivityTestCase
li/li></ul><li>Set the android:targetPackage
attribute <instrumentation>
of the element in the test package's manifest. 应将属性值设置为正在测试的目标应用程序的包名称。 <li>使用“adb shell am instrumentation -w”(没有可选参数)运行检测,以运行所有测试(性能测试除外)。 <li>使用“adb shell am instrumentation -w”运行检测,并将参数“-e func true”用于运行所有功能测试。 这些测试派生自 android.test.InstrumentationTestCase
. <li>使用“adb shell am instrumentation -w”运行检测,参数“-e unit true”运行所有单元测试。 这些测试 不派生自 android.test.InstrumentationTestCase
(不是性能测试)。 <li>使用“adb shell am instrumentation -w”运行检测,并将参数“-e 类”设置为运行个人 junit.framework.TestCase
。 </ol><p/><b>运行所有测试:</b> adb shell am instrumentation -w com.android.foo/android.test.InstrumentationTestRunner <p/><b>运行所有小型测试:/b> adb shell am instrumentation -w -e size small com.android.foo/android.test.InstrumentationTestRunner <p/><b>运行所有中等测试:<</b> adb shell am instrumentation -w -e size medium com.android.foo/android.test.InstrumentationTestRunner <p/><b>运行所有大型测试:</b> adb shell am instrumentation -w -e size large com.android.foo/android.test.InstrumentationTestRunner <p/><b>Filter test run to tests with given annotation:</b> adb shell am instrumentation -w -e annotation com.android.foo.MyAnnotation com.android.foo/android.test.InstrumentationTestRunner <p/> If used with other options, the resulting test run will contain the union of the two options. 例如,“-e size large -e annotation com.android.foo.MyAnnotation”将仅运行包含 LargeTest
“com.android.foo.MyAnnotation”批注的测试。 <p/>b 筛选器测试运行到没有给定批注的测试:</b> adb shell am instrumentation -w -e notAnnotation com.android.foo.MyAnnotation com.android.foo/android.test.InstrumentationTestRunner <p /<>b>运行单个测试箱:</b> adb shell am instrumentation -w -e class com.android.foo.FooTest com.android.foo/android.test.InstrumentationTestRunner <p/b 运行单个测试:</>b>><><adb shell am instrumentation -w -e class com.android.foo.Foo.FooTest#testFoo com.android.foo/android.test.InstrumentationTestRunner <p/><b>Running multiple tests:</b> adb shell am instrumentation -w -e class com.android.foo.Foo.foo.TooTest com.android.foo/android.test.InstrumentationTestRunner <p/b Running all tests in a java package:</b>>><adb shell am instrumentation -w -e package com.android.foo.subpkg com.android.foo/android.test.InstrumentationTestRunner <p/><b>包括性能测试:</b> adb shell am instrumentation -w -e perf true com.android.foo/android.test.InstrumentationTestRunner <p/><b>若要调试测试,请在代码中设置断点并传递:</b> -e debug true <p/><b>若要在“仅日志”模式下运行<>-e log true 此选项将加载并循环访问所有测试类和方法,但会绕过实际的测试执行。 可用于快速获取检测命令要执行的测试的信息。 <p/><b>若要生成 EMMA 代码覆盖率:</b> -e 覆盖率 true 注意:这需要经过检测的 emma 生成。 默认情况下,代码覆盖率结果文件将保存在 /data/<app>/coverage.ec 文件中,除非由 coverageFile 标志重写(如下所示) <p/><b> 若要指定 EMMA 代码覆盖率结果文件路径:</b> -e coverageFile /sdcard/myFile.ec <br/> 以及其他参数。
此成员已弃用。 请改用 AndroidJUnitRunner 。 应使用 Android 测试支持库编写新测试。
适用于 . 的 android.test.InstrumentationTestRunner
Java 文档
本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。
构造函数
InstrumentationTestRunner() | |
InstrumentationTestRunner(IntPtr, JniHandleOwnership) |
创建 JNI 对象的托管表示形式时使用的构造函数;由运行时调用。 |
字段
ReportKeyIdentifier |
如果包含在发送到 IInstrumentationWatcher 的状态或最终捆绑包中,则此键标识正在写入报告的类。 (继承自 Instrumentation) |
ReportKeyNameClass |
如果包含在发送到 IInstrumentationWatcher 的状态或最终捆绑包中,则此键标识当前测试类的名称。 |
ReportKeyNameTest |
如果包含在发送到 IInstrumentationWatcher 的状态或最终捆绑包中,则此密钥标识当前测试的名称。 |
ReportKeyNumCurrent |
如果包含在发送到 IInstrumentationWatcher 的状态或最终捆绑包中,则此键标识当前测试的序列号。 |
ReportKeyNumTotal |
如果包含在发送到 IInstrumentationWatcher 的状态或最终捆绑包中,则此密钥标识要运行的测试总数。 |
ReportKeyStack |
如果包含在发送到 IInstrumentationWatcher 的状态捆绑包中,则此密钥标识描述错误或失败的堆栈跟踪。 |
ReportKeyStreamresult |
如果包含在发送到 IInstrumentationWatcher 的状态或最终捆绑包中,则此键标识一个字符串,该字符串只需打印到输出流即可。 (继承自 Instrumentation) |
ReportValueId |
此值(如果使用键 |
属性
AllocCounts |
返回分配计数中当前结果的捆绑包。 (继承自 Instrumentation) |
Arguments |
获取传递给此检测的参数。 |
BinderCounts |
返回一个捆绑包,其中包含此过程的各种联编程序计数。 (继承自 Instrumentation) |
Class |
返回此 |
ComponentName |
返回此检测的完整组件名称。 (继承自 Instrumentation) |
Context |
返回此检测包的上下文。 (继承自 Instrumentation) |
Handle |
基础 Android 实例的句柄。 (继承自 Object) |
IsProfiling |
检查是否已启动此检测,并启用分析。 (继承自 Instrumentation) |
JniIdentityHashCode |
|
JniPeerMembers |
|
Loader |
重写此选项以提供对包的类加载程序的访问权限。 |
PeerReference |
|
ProcessName |
返回运行此检测的进程的名称。 (继承自 Instrumentation) |
TargetContext |
返回要检测的目标应用程序的上下文。 (继承自 Instrumentation) |
ThresholdClass |
此 API 支持 Mono for Android 基础结构,不打算直接从代码使用。 |
ThresholdType |
此 API 支持 Mono for Android 基础结构,不打算直接从代码使用。 |
UiAutomation |
|
方法
显式接口实现
IJavaPeerable.Disposed() |
|
IJavaPeerable.DisposeUnlessReferenced() |
|
IJavaPeerable.Finalized() |
|
IJavaPeerable.JniManagedPeerState |
|
IJavaPeerable.SetJniIdentityHashCode(Int32) |
|
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
|
IJavaPeerable.SetPeerReference(JniObjectReference) |
|
扩展方法
JavaCast<TResult>(IJavaObject) |
执行 Android 运行时检查的类型转换。 |
JavaCast<TResult>(IJavaObject) |
|
GetJniTypeName(IJavaPeerable) |
|