如何进行Android单元测试

来源:互联网 发布:淘宝转让店铺 编辑:程序博客网 时间:2024/05/19 16:36

如何进行Android单元测试

   

  1. Menifest.xml中加入:

    <application>中加入:

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

    <application>外面加入:

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

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

    android:label="Test for myapp"/>

  2. 编写单元测试代码:必须继承自AndroidTestCase

    packagename.feisky.android.test;

       

    importandroid.test.AndroidTestCase;

    importjunit.framework.Assert;

       

    publicclass MyTest extends AndroidTestCase {

    privatestatic final String Tag="MyTest";

       

    public voidtestSave() throws Throwable

    {

    inti=4+8;

    Assert.assertEquals(5,i);

    }

       

    public voidtestSomethingElse() throws Throwable {

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

    }

       

    }

  3. 执行测试

    IntelliJ中:

       

    eclipse中:右键runas Android JUnit Test

    命令行工具:

    adb shellam instrument -wname.feisky.android.test/android.test.InstrumentationTestRunner

       

也可以新建一个测试项目进行测试

   

  1. New Project Android AndroidTest Project.

  1. 添加测试用例类

    添加新类,基类设置为android.test.ActivityInstrumentationTestCase2<HelloAndroid>

  2. 添加构造函数

    添加setUp()方法,这个方法在所有的测试之前进行变量和测试环境的初始化。

    @Override

      protectedvoidsetUp()throwsException{

          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()方法,检查初始化环境,只执行一次

    publicvoidtestPreconditions(){

         assertNotNull(mView);

      }

  4. 添加单元测试

    publicvoidtestText() {

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

      }

  5. 测试 Run As... > AndroidJUnit Test