ActivityInstrumentationTestCase2 主要用來(lái)測(cè)試一個(gè)或多個(gè) Activity 的功能測(cè)試,使用和最終應(yīng)用同樣的運(yùn)行環(huán)境來(lái)測(cè)試 Activity 的功能??梢允褂谜O到y(tǒng) Context (非 Mock)來(lái)測(cè)試 Activity 的功能。 并允許你創(chuàng)建一些 Mock Intent 用來(lái)測(cè)試 Activity 的響應(yīng)。要注意的是,這種 TestCase 不允許使用 Mock 的 Context 和 Application 對(duì)象測(cè)試,也就是說(shuō)你必須使用和應(yīng)用程序?qū)嶋H運(yùn)行的環(huán)境來(lái)測(cè)試。
ActivityInstrumentationTestCase2 的繼承關(guān)系如下圖所示:
http://wiki.jikexueyuan.com/project/android-test-course/images/10.1.jpg" alt="picture10.1" />
它的 getActivity() 方法可以取得被測(cè)試的 Activity 的實(shí)例對(duì)象。
ApiDemosTest 的代碼如下:
public class ApiDemosTest
extends ActivityInstrumentationTestCase2<ApiDemos> {
public ApiDemosTest() {
super(ApiDemos.class);
}
public void testActivityTestCaseSetUpProperly() {
assertNotNull("activity should be launched successfully",
getActivity());
}
}
測(cè)試方法 testActivityTestCaseSetUpProperly 使用 getActivity() ,主要目的是測(cè)試本測(cè)試的 Activity 能否正常啟動(dòng),測(cè)試 getActivity() 是否非空。
此外 ActivityInstrumentationTestCase2 還提供了兩個(gè)方法: