public abstract class ActivityUnitTestCase
extends ActivityTestCase
java.lang.Object | |||||
↳ | junit.framework.Assert | ||||
↳ | junit.framework.TestCase | ||||
↳ | android.test.InstrumentationTestCase | ||||
↳ | android.test.ActivityTestCase | ||||
↳ | android.test.ActivityUnitTestCase<T extends android.app.Activity> |
此类在API级别24中已被弃用。
改为写Local Unit Tests 。
此课程提供单个活动的单独测试。 被测试的活动将在与系统基础结构最少连接的情况下创建,并且您可以注入许多Activity的依赖关系的模拟或包装版本。 大部分工作由setUp()
和tearDown()
自动处理。
如果您更喜欢功能测试,请参阅 ActivityInstrumentationTestCase
。
必须注意的是,作为真正的单元测试,您的活动不会在正常系统中运行,并且不会参与与其他活动的正常交互。 下面的方法不应该在这个配置中调用 - 它们中的大多数都会抛出异常:
createPendingResult(int, Intent, int)
startActivityIfNeeded(Intent, int)
startActivityFromChild(Activity, Intent, int)
startNextMatchingActivity(Intent)
getCallingActivity()
getCallingPackage()
createPendingResult(int, Intent, int)
getTaskId()
isTaskRoot()
moveTaskToBack(boolean)
以下方法可能会被调用,但不会执行任何操作。 出于测试目的,您可以使用方法getStartedActivityIntent()
和getStartedActivityRequest()
来检查它们被调用的参数。
以下方法可能会被调用,但不会执行任何操作。 出于测试目的,您可以使用方法isFinishCalled()
和getFinishedActivityRequest()
来检查它们被调用的参数。
Public constructors |
|
---|---|
ActivityUnitTestCase(Class<T> activityClass) |
Public methods |
|
---|---|
T |
getActivity() |
int |
getFinishedActivityRequest() 如果被测活动名为 |
int |
getRequestedOrientation() 如果被测活动调用 |
Intent |
getStartedActivityIntent() 如果您的测试活动调用 |
int |
getStartedActivityRequest() 如果您的测试活动调用 |
boolean |
isFinishCalled() 此方法将通知您,如果被测活动称为 |
void |
setActivityContext(Context activityContext) 如果你想注入模拟,隔离或其他改变的上下文,你可以在这里做。 |
void |
setApplication(Application application) 设置测试过程中使用的应用程序。 |
Protected methods |
|
---|---|
void |
setUp() 设置夹具,例如打开网络连接。 |
T |
startActivity(Intent intent, Bundle savedInstanceState, Object lastNonConfigurationInstance) 开始被测试的活动,就像 |
void |
tearDown() 在开始下一个测试之前,确保清理所有资源并收集垃圾。 |
Inherited methods |
|
---|---|
From class android.test.ActivityTestCase
|
|
From class android.test.InstrumentationTestCase
|
|
From class junit.framework.TestCase
|
|
From class junit.framework.Assert
|
|
From class java.lang.Object
|
|
From interface junit.framework.Test
|
ActivityUnitTestCase (Class<T> activityClass)
Parameters | |
---|---|
activityClass |
Class
|
int getFinishedActivityRequest ()
如果被测活动名为 finishActivity(int)
此方法将返回请求代码。
Returns | |
---|---|
int |
The request code provided in the start call, or -1 if no finish call was made. |
int getRequestedOrientation ()
如果被测活动调用 setRequestedOrientation(int)
此方法将返回值。
Returns | |
---|---|
int |
Intent getStartedActivityIntent ()
如果您的测试活动调用 startActivity(Intent)
或 startActivityForResult(Intent, int)
此方法将返回启动意向。
Returns | |
---|---|
Intent |
The Intent provided in the start call, or null if no start call was made. |
int getStartedActivityRequest ()
如果您的测试活动调用 startActivityForResult(Intent, int)
此方法将返回启动请求代码。
Returns | |
---|---|
int |
The request code provided in the start call, or -1 if no start call was made. |
boolean isFinishCalled ()
此方法将通知您,如果被测活动称为 finish()
, finishFromChild(Activity)
,或 finishActivity(int)
。
Returns | |
---|---|
boolean |
Returns true if one of the listed finish methods was called. |
void setActivityContext (Context activityContext)
如果你想注入模拟,隔离或其他改变的上下文,你可以在这里做。 在致电startActivity(Intent, Bundle, Object)
之前,您必须调用此函数。 如果您希望获得真实的上下文,则可以使用getInstrumentation()。getTargetContext()作为构建块。
Parameters | |
---|---|
activityContext |
Context
|
void setApplication (Application application)
设置测试过程中使用的应用程序。 在致电startActivity(Intent, Bundle, Object)
之前,您必须调用此函数。 如果你的测试没有调用这个方法,
Parameters | |
---|---|
application |
Application : The Application object that will be injected into the Activity under test. |
T startActivity (Intent intent, Bundle savedInstanceState, Object lastNonConfigurationInstance)
开始被测活动,就像Context.startActivity()
开始Context.startActivity()
,提供它提供的参数。 当您使用此方法启动活动时,它将自动被tearDown()
停止。
此方法将调用onCreate(),但如果您希望进一步练习Activity生命周期方法,则必须从测试用例中自行调用它们。
不要从你的setUp()方法中调用。 您必须从每种测试方法调用此方法。
Parameters | |
---|---|
intent |
Intent : The Intent as if supplied to startActivity(Intent) . |
savedInstanceState |
Bundle : The instance state, if you are simulating this part of the life cycle. Typically null. |
lastNonConfigurationInstance |
Object : This Object will be available to the Activity if it calls getLastNonConfigurationInstance() . Typically null. |
Returns | |
---|---|
T |
Returns the Activity that was created |
void tearDown ()
在开始下一个测试之前,确保清理所有资源并收集垃圾。 覆盖此方法的子类应确保它们在重写方法的末尾调用super.tearDown()。
Throws | |
---|---|
异常 |