单元测试2

如何进行Android单元测试

   <单元测试框架

python: Pytet、PyUnit、unittest、nose

php: phpunit、simpleTest、codeception

JS: jsUnit、FileUnit、QUnit、Jasmine>

nodejs:NodeUnit

  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中:

    单元测试2_第1张图片

       

    单元测试2_第2张图片

    eclipse中:右键 run as Android JUnit Test

    单元测试2_第3张图片

    命令行工具:

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

       

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

   

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

单元测试2_第4张图片

  1. 添加测试用例类

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

  2. 添加构造函数

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

    @Override

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

    publicvoid testPreconditions(){

          assertNotNull(mView);

        }

  4. 添加单元测试

    publicvoid testText(){

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

        }

  5. 测试 Run As... > Android JUnit Test


你可能感兴趣的:(单元测试2)