Most visited

Recently visited

Added in API level 1
Deprecated since API level 24

ApplicationTestCase

public abstract class ApplicationTestCase
extends AndroidTestCase

java.lang.Object
   ↳ junit.framework.Assert
     ↳ junit.framework.TestCase
       ↳ android.test.AndroidTestCase
         ↳ android.test.ApplicationTestCase<T extends android.app.Application>


此类在API级别24中已被弃用。
改为使用InstrumentationRegistry 应使用Android Testing Support Library编写新的测试。

该测试用例提供了一个框架,您可以在该框架中在受控环境中测试应用程序类。 它为应用程序的生命周期提供基本支持,并且可以通过这些钩子注入各种依赖项并控制应用程序测试的环境。

生命周期支持。 每个应用程序都被设计为在特定的方法调用序列内进行访问(有关更多详细信息,请参阅Application )。 为了支持应用程序的生命周期,此测试用例将在以下时间进行以下调用。

依赖注入。 每个应用程序都有一个内在的依赖关系,即它运行的Context 这个框架允许你为这个依赖注入一个修改的,模拟的或孤立的替换,从而执行一个真正的单元测试。

如果只是简单地运行你的测试,你的应用程序将被注入一个全功能的上下文。 您可以通过调用setContext()创建并注入其他类型的上下文。 您必须致电createApplication() 之前执行此createApplication() 测试框架提供了许多用于上下文替代品,包括MockContextRenamingDelegatingContext ,和ContextWrapper

Summary

Inherited fields

From class android.test.AndroidTestCase

Public constructors

ApplicationTestCase(Class<T> applicationClass)

Public methods

T getApplication()
Context getSystemContext()

返回一个真实的(未嘲弄或检测到的)系统上下文,它可以在您的应用程序生成模拟或其他上下文对象时使用。

final void testApplicationTestCaseSetUpProperly()

这个测试只是确认Application类可以正确实例化。

Protected methods

final void createApplication()

按照与系统启动相同的方式启动待测试应用程序。

void setUp()

这将做实例化被测试应用程序的工作。

void tearDown()

关闭正在测试的应用程序。

final void terminateApplication()

这将进行必要的调用来终止测试中的应用程序(它将调用onTerminate()。

Inherited methods

From class android.test.AndroidTestCase
From class junit.framework.TestCase
From class junit.framework.Assert
From class java.lang.Object
From interface junit.framework.Test

Public constructors

ApplicationTestCase

Added in API level 1
ApplicationTestCase (Class<T> applicationClass)

Parameters
applicationClass Class

Public methods

getApplication

Added in API level 1
T getApplication ()

Returns
T Returns the actual Application under test.

getSystemContext

Added in API level 1
Context getSystemContext ()

返回一个真实的(未嘲弄或检测到的)系统上下文,它可以在您的应用程序生成模拟或其他上下文对象时使用。

Returns
Context Returns a reference to a normal Context.

testApplicationTestCaseSetUpProperly

Added in API level 1
void testApplicationTestCaseSetUpProperly ()

这个测试只是确认Application类可以正确实例化。

Throws
异常

Protected methods

createApplication

Added in API level 1
void createApplication ()

按照与系统启动相同的方式启动待测试应用程序。 如果您使用此方法启动应用程序,它将自动被tearDown()停止。 如果您希望通过调用setContext()为您的测试注入专用的上下文,则必须在调用此方法之前执行此操作。

setUp

Added in API level 1
void setUp ()

这将做实例化被测试应用程序的工作。 在此之后,您的测试代码也必须启动和停止应用程序。

Throws
异常

tearDown

Added in API level 1
void tearDown ()

关闭正在测试的应用程序。 还要确保在进行下一个测试之前清理所有资源并进行垃圾收集。 覆盖此方法的子类应确保它们在重写方法的末尾调用super.tearDown()。

Throws
异常

terminateApplication

Added in API level 1
void terminateApplication ()

这将会进行必要的调用来终止被测试的应用程序(它会调用onTerminate()。通常这会被自动调用(通过 tearDown() ,但是你可以直接从你的测试中调用它来检查正确的关闭行为。

Hooray!