public abstract class ActivityInstrumentationTestCase2
extends ActivityTestCase
| java.lang.Object | |||||
| junit.framework.Assert | |||||
| junit.framework.TestCase | |||||
| android.test.InstrumentationTestCase | |||||
| android.test.ActivityTestCase | |||||
| android.test.ActivityInstrumentationTestCase2<T extends android.app.Activity> | |||||
此类在API级别24中已被弃用。
改为使用ActivityTestRule 。 应使用Android Testing Support Library编写新测试。
此课程提供单一活动的功能测试。 测试活动将使用系统基础结构(通过调用InstrumentationTestCase.launchActivity())创建,然后您将能够直接操作您的活动。
此测试案例支持的其他选项包括:
UiThreadTest).setActivityIntent(Intent)).此课程将取代已弃用的ActivityInstrumentationTestCase 。 新的测试应该使用这个基类来编写。
如果您偏好单独的单元测试,请参阅 ActivityUnitTestCase 。
Public constructors |
|
|---|---|
ActivityInstrumentationTestCase2(String pkg, Class<T> activityClass) 此构造函数在API级别8中已弃用。 |
|
ActivityInstrumentationTestCase2(Class<T> activityClass) |
|
公共方法(Public methods) |
|
|---|---|
T |
getActivity() 获取测试活动,如有必要,启动它。 |
void |
setActivityInitialTouchMode(boolean initialTouchMode) 在第一次调用 |
void |
setActivityIntent(Intent i) 在第一次调用 |
Protected methods |
|
|---|---|
void |
runTest() 运行当前的单元测试。 |
void |
setUp() 设置夹具,例如打开网络连接。 |
void |
tearDown() 在开始下一个测试之前,确保清理所有资源并收集垃圾。 |
继承方法(Inherited methods) |
|
|---|---|
android.test.ActivityTestCase
|
|
android.test.InstrumentationTestCase
|
|
junit.framework.TestCase
|
|
junit.framework.Assert
|
|
java.lang.Object
|
|
junit.framework.Test
|
|
ActivityInstrumentationTestCase2 (String pkg, Class<T> activityClass)
此构造函数在API级别8中已被弃用。
改为使用ActivityInstrumentationTestCase2(Class)
创建一个 ActivityInstrumentationTestCase2 。
| 参数(Parameters) | |
|---|---|
pkg |
String: ignored - no longer in use. |
activityClass |
Class: The activity to test. This must be a class in the instrumentation targetPackage specified in the AndroidManifest.xml |
ActivityInstrumentationTestCase2 (Class<T> activityClass)
创建一个 ActivityInstrumentationTestCase2 。
| 参数(Parameters) | |
|---|---|
activityClass |
Class: The activity to test. This must be a class in the instrumentation targetPackage specified in the AndroidManifest.xml |
T getActivity ()
获取测试活动,如有必要,启动它。 对于每个测试方法调用,只有在第一次调用此方法时才会实际创建Activity。
如果您希望为自己的活动提供自定义设置值, setActivityInitialTouchMode(boolean)在第一次调用getActivity()之前调用setActivityIntent(Intent)和/或setActivityInitialTouchMode(boolean) 。 活动开始后调用它们将不起作用。
注意:测试中的活动不能从UI线程内启动。 如果您的测试方法用UiThreadTest标注,那么您的活动将在测试方法运行之前自动启动。 您仍然调用此方法以获取待测活动。
| 返回(Returns) | |
|---|---|
T |
the Activity under test |
void setActivityInitialTouchMode (boolean initialTouchMode)
在第一次调用 getActivity()之前调用此方法为 getActivity()活动设置初始触摸模式。
如果你不这样称呼,那么触摸模式将是错误的。 如果您在“活动”启动后调用此功能,则无效。
注意:测试中的活动不能从UI线程内启动。 如果您的测试方法与注解UiThreadTest ,则必须调用setActivityInitialTouchMode(boolean)从setUp() 。
| 参数(Parameters) | |
|---|---|
initialTouchMode |
boolean: true if the Activity should be placed into "touch mode" when started |
void setActivityIntent (Intent i)
在第一次调用 getActivity()之前调用此方法,以将自定义的Intent注入到 getActivity()活动中。
如果您不打电话,则会提供默认意图。 如果您在“活动”启动后调用此功能,则无效。
注意:测试中的活动不能从UI线程内启动。 如果您的测试方法与注解UiThreadTest ,则必须调用setActivityIntent(Intent)从setUp() 。
默认的意图(如果此方法未被调用)是:action = ACTION_MAIN flags = FLAG_ACTIVITY_NEW_TASK所有其他字段为空或空。
| 参数(Parameters) | |
|---|---|
i |
Intent: The Intent to start the Activity with, or null to reset to the default Intent. |
void runTest ()
运行当前的单元测试。 如果单元测试用UiThreadTest标注, UiThreadTest在切换到UI线程之前强制创建活动。
| 抛出异常(Throws) | |
|---|---|
Throwable |
|
void tearDown ()
在开始下一个测试之前,确保清理所有资源并收集垃圾。 覆盖此方法的子类应确保它们在重写方法的末尾调用super.tearDown()。
| 抛出异常(Throws) | |
|---|---|
异常 |
|