91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

簡單搭建環境,測試Android應用

發布時間:2020-06-29 03:38:52 來源:網絡 閱讀:613 作者:鷺明 欄目:移動開發

如果你編寫完Android應用軟件,要進行一個測試,可以學習這個方法,具體內容如下所示:

用Eclipse建立測試

首先搭建測試環境:

  1. 下載安裝Eclipse ADT插件

  2. 導入或創建我們想要測試的Android應用項目。

  3. 生成一個對應于應用程序項目測試的測試項目。為導入項目生成一個測試項目: a.在項目瀏覽器里,右擊我們的應用項目,然后選擇Android Tools > New Test Project b.在新建Android測試項目面板,為我們的測試項目設置合適的參數,然后點擊Finish

上面環境搭建好后可以進入創建與執行測試用例:


創建一個測試用例

Activity測試都是通過結構化的方式編寫的。請務必把測試代碼放在一個單獨的包內,從而與被測試的代碼分開。

按照慣例,測試包的名稱應該遵循與應用包名相同的命名方式,在應用包名后接“.tests”。在創建的測試包中,為我們的測試用例添加Java類。按照慣例,測試用例名稱也應遵循要測試的Java或Android的類相同的名稱,并增加后綴“Test”。

要在Eclipse中創建一個新的測試用例可遵循如下步驟:

a. 在Package Explorer中,右鍵點擊待測試工程的src/文件夾,New > Package

b. 設置文件夾名稱<你的包名稱>.tests(比如, com.example.android.testingfun.tests)并點擊Finish

c. 右鍵點擊創建的測試包,并選擇New > Calss

d. 設置文件名稱<你的Activity名稱>Test(比如, MyFirstTestActivityTest),然后點擊Finish

建立測試數據集(Fixture)

測試數據集包含運行測試前必須生成的一些對象。要建立測試數據集,可以在我們的測試中覆寫setUp()和tearDown()方法。測試會在運行任何其它測試方法之前自動執行setUp()方法。我們可以用這些方法使得被測試代碼與測試初始化和清理是分開的。

在你的Eclipse中建立測試數據集:

1 . 在 Package Explorer中雙擊測試打開之前編寫的測試用例,然后修改測試用例使它繼承ActivityTestCase的子類。比如:

public class MyFirstTestActivityTest
        extends ActivityInstrumentationTestCase2<MyFirstTestActivity> {

2 . 下一步,給測試用例添加構造函數和setUp()方法,并為我們想測試的Activity添加變量聲明。比如:

public class MyFirstTestActivityTest
        extends ActivityInstrumentationTestCase2<MyFirstTestActivity> {    private MyFirstTestActivity mFirstTestActivity;    private TextView mFirstTestText;    public MyFirstTestActivityTest() {        super(MyFirstTestActivity.class);
    }    @Override
    protected void setUp() throws Exception {        super.setUp();
        mFirstTestActivity = getActivity();
        mFirstTestText =
                (TextView) mFirstTestActivity
                .findViewById(R.id.my_first_test_text_view);
    }
}

構造函數是由測試用的Runner調用,用于初始化測試類的,而setUp()方法是由測試Runner在其他測試方法開始前運行的。

通常在setUp()方法中,我們應該:

  • setUp() 調用父類構造函數,這是JUnit要求的。

  • 初始化測試數據集的狀態,具體而言:

    • 定義保存測試數據及狀態的實例變量

    • 創建并保存正在測試的Activity的引用實例。

    • 獲得想要測試的Activity中任何UI組件的引用。

我們可以使用getActivity()方法得到正在測試的Activity的引用。

增加一個測試前提

我們最好在執行測試之前,檢查測試數據集的設置是否正確,以及我們想要測試的對象是否已經正確地初始化。這樣,測試就不會因為有測試數據集的設置錯誤而失敗。按照慣例,驗證測試數據集的方法被稱為testPreconditions()

例如,我們可能想添加一個像這樣的testPreconditons()方法:

public void testPreconditions() {
    assertNotNull(“mFirstTestActivity is null”, mFirstTestActivity);
    assertNotNull(“mFirstTestText is null”, mFirstTestText);
}

Assertion(斷言,譯者注)方法源自于JunitAssert類。通常,我們可以使用斷言來驗證某一特定的條件是否是真的。

  • 如果條件為假,斷言方法拋出一個AssertionFailedError異常,通常會由測試Runner報告。我們可以在斷言失敗時給斷言方法添加一個字符串作為第一個參數從而給出一些上下文詳細信息。

  • 如果條件為真,測試通過。

在這兩種情況下,Runner都會繼續運行其它測試用例的測試方法。

添加一個測試方法來驗證Activity

下一步,添加一個或多個測試方法來驗證Activity布局和功能。

例如,如果我們的Activity含有一個TextView,可以添加如下方法來檢查它是否有正確的標簽文本:

public void testMyFirstTestTextView_labelText() {    final String expected =
            mFirstTestActivity.getString(R.string.my_first_test);    final String actual = mFirstTestText.getText().toString();
    assertEquals(expected, actual);
}

該 testMyFirstTestTextView_labelText() 方法只是簡單的檢查Layout中TextView的默認文本是否和strings.xml資源中定義的文本一樣。

注意:當命名測試方法時,我們可以使用下劃線將被測試的內容與測試用例區分開。這種風格使得我們可以更容易分清哪些是測試用例。

做這種類型的字符串比較時,推薦從資源文件中讀取預期字符串,而不是在代碼中硬性編寫字符串做比較。這可以防止當資源文件中的字符串定義被修改時,會影響到測試的效果。

為了進行比較,預期的和實際的字符串都要做為assertEquals()方法的參數。如果值是不一樣的,斷言將拋出一個AssertionFailedError異常。

如果添加了一個testPreconditions()方法,我們可以把測試方法放在testPreconditions之后。

要參看一個完整的測試案例,可以參考本節示例中的MyFirstTestActivityTest.java。

構建和運行測試

我們可以在Eclipse中的包瀏覽器(Package Explorer)中運行我們的測試。

利用如下步驟構建和運行測試:

  1. 連接一個Android設備,在設備或模擬器中,打開設置菜單,選擇開發者選項并確保啟用USB調試。

  2. 在包瀏覽器(Package Explorer)中,右鍵單擊測試類,并選擇Run As > Android Junit Test

  3. 在Android設備選擇對話框,選擇剛才連接的設備,然后單擊“確定”。

  4. 在JUnit視圖,驗證測試是否通過,有無錯誤或失敗。


Gradle version 建立測試

  1. 連接Android真機或開啟Android模擬器。

  2. 在項目目錄運行如下命令:

./gradlew build connectedCheck






向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

永清县| 黑水县| 桂东县| 星子县| 宁晋县| 宣城市| 房产| 蒙自县| 仁化县| 东台市| 女性| 内黄县| 瑞金市| 邢台市| 衡山县| 阜城县| 德格县| 出国| 济南市| 仲巴县| 肥乡县| 赤城县| 南漳县| 华蓥市| 和硕县| 穆棱市| 嘉荫县| 鸡泽县| 东丽区| 阜新| 额敏县| 昆明市| 开平市| 陈巴尔虎旗| 荃湾区| 阿拉尔市| 荣昌县| 华安县| 塔城市| 漳州市| 石棉县|