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> |
This class was deprecated
in API level 24.
Use
ActivityTestRule instead. New tests should be written using the
Android Testing Support Library.
This class provides functional testing of a single activity. The activity under test will be created using the system infrastructure (by calling InstrumentationTestCase.launchActivity()) and you will then be able to manipulate your Activity directly.
Other options supported by this test case include:
UiThreadTest
).setActivityIntent(Intent)
).This class replaces ActivityInstrumentationTestCase
, which is deprecated.
New tests should be written using this base class.
If you prefer an isolated unit test, see ActivityUnitTestCase
.
Public constructors | |
---|---|
ActivityInstrumentationTestCase2(String pkg, Class<T> activityClass)
This constructor was deprecated
in API level 8.
use |
|
ActivityInstrumentationTestCase2(Class<T> activityClass)
Creates an |
Public methods | |
---|---|
T
|
getActivity()
Get the Activity under test, starting it if necessary. |
void
|
setActivityInitialTouchMode(boolean initialTouchMode)
Call this method before the first call to |
void
|
setActivityIntent(Intent i)
Call this method before the first call to |
Protected methods | |
---|---|
void
|
runTest()
Runs the current unit test. |
void
|
setUp()
Sets up the fixture, for example, open a network connection. |
void
|
tearDown()
Make sure all resources are cleaned up and garbage collected before moving on to the next test. |
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
|
ActivityInstrumentationTestCase2 (String pkg, Class<T> activityClass)
This constructor was deprecated
in API level 8.
use ActivityInstrumentationTestCase2(Class)
instead
Creates an 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)
Creates an ActivityInstrumentationTestCase2
.
Parameters | |
---|---|
activityClass |
Class :
The activity to test. This must be a class in the instrumentation
targetPackage specified in the AndroidManifest.xml
|
T getActivity ()
Get the Activity under test, starting it if necessary. For each test method invocation, the Activity will not actually be created until the first time this method is called.
If you wish to provide custom setup values to your Activity, you may call
setActivityIntent(Intent)
and/or setActivityInitialTouchMode(boolean)
before your first call to getActivity(). Calling them after your Activity has
started will have no effect.
NOTE: Activities under test may not be started from within the UI thread.
If your test method is annotated with UiThreadTest
, then your Activity
will be started automatically just before your test method is run. You still call this
method in order to get the Activity under test.
Returns | |
---|---|
T |
the Activity under test |
void setActivityInitialTouchMode (boolean initialTouchMode)
Call this method before the first call to getActivity()
to set the initial touch
mode for the Activity under test.
If you do not call this, the touch mode will be false. If you call this after your Activity has been started, it will have no effect.
NOTE: Activities under test may not be started from within the UI thread.
If your test method is annotated with UiThreadTest
, then you must call
setActivityInitialTouchMode(boolean)
from setUp()
.
Parameters | |
---|---|
initialTouchMode |
boolean :
true if the Activity should be placed into "touch mode" when started
|
void setActivityIntent (Intent i)
Call this method before the first call to getActivity()
to inject a customized Intent
into the Activity under test.
If you do not call this, the default intent will be provided. If you call this after your Activity has been started, it will have no effect.
NOTE: Activities under test may not be started from within the UI thread.
If your test method is annotated with UiThreadTest
, then you must call
setActivityIntent(Intent)
from setUp()
.
The default Intent (if this method is not called) is:
action = ACTION_MAIN
flags = FLAG_ACTIVITY_NEW_TASK
All other fields are null or empty.
Parameters | |
---|---|
i |
Intent :
The Intent to start the Activity with, or null to reset to the default Intent.
|
void runTest ()
Runs the current unit test. If the unit test is annotated with
UiThreadTest
, force the Activity to be created before switching to
the UI thread.
Throws | |
---|---|
Throwable |
void setUp ()
Sets up the fixture, for example, open a network connection. This method is called before a test is executed.
Throws | |
---|---|
Exception |
void tearDown ()
Make sure all resources are cleaned up and garbage collected before moving on to the next test. Subclasses that override this method should make sure they call super.tearDown() at the end of the overriding method.
Throws | |
---|---|
Exception |