Android单元测试框架是在Java单元测试框架的基础上扩展的,Android四大组件中的Activity、Service、ContentProvider都可以作为单元测试的Target进行测试。本文主要介绍了ContentProvider的单元测试。
1.建立测试环境
在前面的一篇文章《Android单元测试》中介绍的测试环境的建立是与Android工程独立的一种形式,本文的测试环境建立是在Android工程的AndroidManifest.xml中直接注册相关的测试环境(当然这种形式是不建议使用的,测试工程和被测试工程最好是分离的)。
在AndroidManifest.xml文件中注册测试环境如下:
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.steven.hu.cpt" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="15" /> <instrumentation android:name="android.test.InstrumentationTestRunner" android:targetPackage="com.steven.hu.cpt" /> <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" > <uses-library android:name="android.test.runner" /> <provider android:name="com.steven.hu.cpt.ProviderToBeTest" android:authorities="com.steven.hu.provider.test" android:exported="true"></provider> </application> </manifest> |
ProviderToBeTest为被测试的ContentProvider组件。在ProviderToBeTest的Android工程中建立两个不同的包名,分别存放被测试代码文件和测试代码文件。如下结构: