android 單元測試

原文地址http://www.cnblogs.com/feisky/archive/2010/07/23/1783826.html



如何進行Android單元測試

   

  1. Menifest.xml中加入:

    <application>中加入:

    <uses-library android:name="android.test.runner" />

    <application>外面加入:

    <uses-permission android:name="android.permission.RUN_INSTRUMENTATION" />

    <instrumentation android:name="android.test.InstrumentationTestRunner" android:targetPackage="name.feisky.android.test"

    android:label="Test for my app"/>

  2. 編寫單元測試代碼:必須繼承自AndroidTestCase

    package name.feisky.android.test;

       

    import android.test.AndroidTestCase;

    import junit.framework.Assert;

       

    public class MyTest extends AndroidTestCase {

    private static final String Tag="MyTest";

       

    public void testSave() throws Throwable

    {

    int i=4+8;

    Assert.assertEquals(5,i);

    }

       

    public void testSomethingElse() throws Throwable {

    Assert.assertTrue(1 + 1 == 12);

    }

       

    }

  3. 執行測試

    IntelliJ中:

       

    eclipse中:右鍵 run as Android JUnit Test

    命令行工具:

    adb shell am instrument -w name.feisky.android.test/android.test.InstrumentationTestRunner

       

也可以新建一個測試項目進行測試

   

  1. New > Project > Android > Android Test Project.

  1. 添加測試用例類

    添加新類,基類設置爲android.test.ActivityInstrumentationTestCase2<HelloAndroid>

  2. 添加構造函數

    添加setUp()方法,這個方法在所有的測試之前進行變量和測試環境的初始化。

    @Override

        protected void setUp() throws Exception {

            super.setUp();

            mActivity = this.getActivity();

            mView = (TextView) mActivity.findViewById(com.example.helloandroid.R.id.textview);

            resourceString = mActivity.getString(com.example.helloandroid.R.string.hello);

        }

  3. 添加testPreconditions()方法,檢查初始化環境,只執行一次

    public void testPreconditions() {

          assertNotNull(mView);

        }

  4. 添加單元測試

    public void testText() {

          assertEquals(resourceString,(String)mView.getText());

        }

  5. 測試 Run As... > Android JUnit Test

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章