zoukankan      html  css  js  c++  java
  • android 单元测试

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

  • 相关阅读:
    转发 GSLB概要和实现原理
    通过openresty && tengine && nginx 动态添加资源到 html 页面
    Terraform 多云管理工具
    vault key 管理工具
    fabio
    keycloak 了解
    访问交换机的三种方式
    LAN、WAN、WLAN的区别
    浅谈团队贡献分如何分配
    Java程序性能分析工具Java VisualVM(Visual GC)—程序员必备利器
  • 原文地址:https://www.cnblogs.com/duanweishi/p/4374236.html
Copyright © 2011-2022 走看看