如何进行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

    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... > Android JUnit Test

更多相关文章

  1. android应用去掉title bar
  2. android 圆角头像
  3. Android(安卓)Studio导入第三方类库的方法
  4. 如何将Android例子程序添加到Eclipse进行调试运行
  5. ANDROID 单元测试
  6. Android(安卓)EditText 不自动获取焦点(不自动弹出输入法)
  7. android 去掉顶部状态栏
  8. Android(安卓)常用开发工具以及Mac常用软件
  9. 如何进行Android单元测试

随机推荐

  1. 什么是电子面单?他们对电商运营有什么影响
  2. 快递公司如何接入快递100?快递100的快递实
  3. 快递公司如何接入快递100?快递100的快递查
  4. 快递公司如何接入快递100?快递100电子面单
  5. 快递公司如何接入快递100?快递100手机查快
  6. 0517 mvc架构模式思想
  7. php 的变量与常量----0426
  8. js 中 for,foreach 遍历数组,与PHP 中 for,f
  9. 网站安全响应头缺失和php配置漏洞
  10. php之请求api数据与composer