• android junit 单元测试与输出日志信息查看处理


    单元测试

    1.搭建项目测试环境 在主文件 AndroidMainfest.xml中的application标签中加入测试类库

          <uses-library android:name="android.test.runner" /> 固定写法 与application标签的activity在同一层次 不要放错位置  然后再application标签的结束标签下添加下面代码 (去掉注释)

        <instrumentation
       <!--android:name="android.test.InstrumentationTestRunner"  固定写法 -->
        <!-- android:label="Tests for My App" 可以自己起名 不要该项也行-->
        <!-- android:targetPackage="com.itcast.junittest" 单元测试包名 与上面package的值最好保持一样 -->
         </instrumentation>

     2.编写要测试类的方法和测试类

      需要测试类和方法  

    package com.itcast.service;

    public class PersonService {
     public int save() {
      String in = "123";
      int a = Integer.parseInt(in);
      return a;
     }
    }

    测试类

    package com.itcast.test;

    import junit.framework.Assert;
    import com.itcast.service.PersonService;
    import android.test.AndroidTestCase;
    import android.util.Log;

    public class PersonServiceTest extends AndroidTestCase {
     private static final String TAG = "PersonServiceTest";

     /**
      * 测试方法以test开头 最好抛出异常 或者跑出Exception的父类Throwable
      *
      * @throws Exception
      */
     public void testSave() throws Exception {
      PersonService personService = new PersonService();
      int b = personService.save();
      System.out.println(b);// 固定tag是System.out
      System.err.println("");// 固定tag是System.err
      Log.i(TAG, "result: " + b);// android系统内置的往控制台输出信息的方法 可以使.v.d .i .w .e
             // 表示不同级别的输出信息 v<d<i<w<e 参数一是在控制台输出的标签值
             // 可以添加过滤快速查找 参数 一般都用当前类的类名做tag 2是输出的信息
             // 还可在加上一个参数
             // exception对象
      Assert.assertEquals(123, b);// 判断方法的返回结果是否与预期的值一样
     }

    }

    3.运行测试类  在测试类里邮件 选择run as  >  android junit test 信息会在jinit 视图中输出  如果有错误的话 上面的横条就会变红色 正常的话就是绿色的

    日志

    因为android设备存储空间小 不想电脑那么大 所以 android的项目日志只在控制台输出 系统内置的LOG.i(tag,msg)

    LOG.v(tag,msg) LOG.d(tag,msg) LOG.w(tag,msg) LOG.e(tag,msg)  tag一般为当前类的简单类名的一个字符串  v<d<i<w<e  就是D包括v e包括全部 可以添加tag过滤器 快速的查看输出的信息

      System.out.println(b);// 固定tag是System.out
      System.err.println("");// 固定tag是System.err

  • 相关阅读:
    深入理解 Python 虚拟机:协程初探——不过是生成器而已
    LeetCode经典面试150题-day4(删除有序数组的重复项II)
    如何导入StackOverflow数据库
    redis的安装和配置
    课程2 第3周 TensorFlow入门
    ESP8266-Arduino编程实例-MAG3110磁力计驱动
    docker:已启动容器修改添加端口映射
    刷题笔记之七(统计每个月兔子的总数+汽水瓶+查找两个字符串a,b中的最长公共子串+公共子串计算)
    【Vue五分钟】五分钟了解--Vue过渡
    骨传导蓝牙耳机排行榜,精选五款骨传导耳机推荐!
  • 原文地址:https://blog.csdn.net/cqn2bd2b/article/details/125477034