Most visited

Recently visited

Added in API level 3

ProviderTestCase2

public abstract class ProviderTestCase2
extends AndroidTestCase

java.lang.Object
   ↳ junit.framework.Assert
     ↳ junit.framework.TestCase
       ↳ android.test.AndroidTestCase
         ↳ android.test.ProviderTestCase2<T extends android.content.ContentProvider>


此测试用例类提供了一个框架,用于测试单个ContentProvider并使用独立的内容提供程序测试您的应用程序代码。 测试用例不是使用基于其他应用程序清单的提供程序的系统映射,而是创建自己的内部映射。 然后它使用该映射来解析授予权限的提供者。 这使您可以注入测试提供程序并将您不想使用的提供程序清空。

该测试用例还设置了以下模拟对象:

该框架由基类“ setUp()方法自动设置。 如果重写此方法,则必须调用super方法作为重写中的第一条语句。

为了让他们的测试运行,具体的子类必须提供他们自己的没有参数的构造函数。 这个构造函数必须调用ProviderTestCase2(Class, String)作为其第一个操作。

For more information on content provider testing, please see Content Provider Testing.

Summary

Inherited fields

From class android.test.AndroidTestCase

Public constructors

ProviderTestCase2(Class<T> providerClass, String providerAuthority)

构造函数。

Public methods

MockContentResolver getMockContentResolver()

获取初始化期间由此类创建的 MockContentResolver

IsolatedContext getMockContext()

获取初始化期间由此类创建的 IsolatedContext

T getProvider()

返回 setUp()方法中此类创建的内容提供者。

static <T extends ContentProvider> ContentResolver newResolverWithContentProviderFromSql(Context targetContext, String filenamePrefix, Class<T> providerClass, String authority, String databaseName, int databaseVersion, String sql)

创建与传递给测试用例类相同类型的新内容提供者,并将权限名称设置为authority参数,并使用SQLite数据库作为基础数据源。

Protected methods

void setUp()

设置测试夹具的环境。

void tearDown()

放弃测试夹具的环境。

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

ProviderTestCase2

Added in API level 3
ProviderTestCase2 (Class<T> providerClass, 
                String providerAuthority)

构造函数。

Parameters
providerClass Class: The class name of the provider under test
providerAuthority String: The provider's authority string

Public methods

getMockContentResolver

Added in API level 3
MockContentResolver getMockContentResolver ()

获取初始化期间由此类创建的MockContentResolver 您必须使用此解析器的方法来访问被测试的提供者。

Returns
MockContentResolver A MockContentResolver instance.

getMockContext

Added in API level 3
IsolatedContext getMockContext ()

获取初始化期间由此类创建的 IsolatedContext

Returns
IsolatedContext The IsolatedContext instance

getProvider

Added in API level 3
T getProvider ()

返回 setUp()方法中此类创建的内容提供者。

Returns
T T An instance of the provider class given as a parameter to the test case class.

newResolverWithContentProviderFromSql

Added in API level 3
ContentResolver newResolverWithContentProviderFromSql (Context targetContext, 
                String filenamePrefix, 
                Class<T> providerClass, 
                String authority, 
                String databaseName, 
                int databaseVersion, 
                String sql)

创建与传递给测试用例类相同类型的新内容提供者,并将权限名称设置为authority参数,并使用SQLite数据库作为基础数据源。 SQL语句参数用于创建数据库。 此方法还会创建一个新的MockContentResolver并向其添加提供程序。

新的提供者和新的解析器都被放入IsolatedContext ,该文件使用targetContext参数进行文件操作, MockContext用于其他所有内容。 IsolatedContext在文件,数据库和目录名称前加上filenamePrefix参数。

这是创建可包含测试数据的“模拟”提供程序的便捷方法。

Parameters
targetContext Context: The context to use as the basis of the IsolatedContext
filenamePrefix String: A string that is prepended to file, database, and directory names
providerClass Class: The type of the provider being tested
authority String: The authority string to associated with the test provider
databaseName String: The name assigned to the database
databaseVersion int: The version assigned to the database
sql String: A string containing the SQL statements that are needed to create the desired database and its tables. The format is the same as that generated by the sqlite3 tool's .dump command.
Returns
ContentResolver ContentResolver A new MockContentResolver linked to the provider
Throws
IllegalAccessException
InstantiationException
IllegalAccessException

Protected methods

setUp

Added in API level 3
void setUp ()

设置测试夹具的环境。

创建一个新的 MockContentResolver ,一个隔离提供程序文件操作的新IsolatedContext和一个在隔离环境中测试的提供程序的新实例。

Throws
异常

tearDown

Added in API level 3
void tearDown ()

放弃测试夹具的环境。

呼吁 shutdown()ContentProvider由mProvider表示。

Throws
异常

Hooray!