zoukankan      html  css  js  c++  java
  • Android单元测试与日志输出

    AndroidTestCase

    如果对要存取资源或者其他一些依赖于Activity上下文的操作进行单元测试,则需扩展AndroidTestCase接口(Extend this if you need to access Resources or other things that depend on Activity Context.

     1 
    2 public class testServiceApp extends AndroidTestCase
    3 {
    4 public void testXXX() throws Exception
    5 {
    6 //具体测试操作的代码 ,可以对要测试的类,方法操作
    7 //Log.i();
    8 }
    9  }



    配置AndroidManifest.xml

    在application标签的内部即与Activity标签同级的位置添加单元测试库:

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



    然后在与application标签同级的位置添加下面的

    1 <instrumentation android:name="android.test.InstrumentationTestRunner" 
    2 android:targetPackage="com.aven.unitTest" android:label="Tests for My App" />

    其中:targetPackage="com.aven.unitTest"根据测试类所在位置而定,同时在很多教程中都有提到它必须和

    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
         package="com.aven.unitTest"

    这里面的包名一致.

    测试

    如果运行整个测试文件,则在资源导航按右击文件,选择“运行方式”--->“Android Junit Test”,如果仅仅运行某个测试函数,则将光标定位函数名右击,选择“运行方式”--->“Android Junit Test”,这样Eclipse会将它们部署到Android模拟器上,在Junit窗口可以看到测试信息,红色当然说明测试出现问题,根据提示查找问题就OK了。image

    日志输出

    为了方便查找在测试函数中可以使用Log来输出某些信息,这样程序运行时,就可以很清楚的知道那一段代码没有正常运行或者说没有达到我们的预期目的。

    关于这个Log,官方文档是这么写的

    Generally, use the Log.v() Log.d() Log.i() Log.w() and Log.e() methods.

    The order in terms of verbosity, from least to most is ERROR, WARN, INFO, DEBUG, VERBOSE. Verbose should never be compiled into an application except during development. Debug logs are compiled in but stripped at runtime. Error, warning and info logs are always kept.

    也就是说我们通常使用他的三种方法,Log.v() Log.d() Log.i() Log.w() and Log.e() 来输出信息,分别表示错误,警告,信息,调试,冗长。一般可以用Log.i() 来输出信息。使用起来很方便,先给输出取个标记,可以任意,下面的例子中字符串标记MyActivity被声明为一个静态的字符串常量,这也是官方推荐的通行写法:

    1 private static final String TAG = "MyActivity";
    2 Log.v(TAG, "index=" + i);

    然后在Logcat视图里面添加一个过滤器,就可以迅速筛选出要看到的信息:

    image

  • 相关阅读:
    Spring MVC 完全注解方式配置web项目
    spring WebServiceTemplate 调用 axis1.4 发布的webservice
    修改Intellij Idea 创建maven项目默认Java编译版本
    Git Commit提交规范和IDEA插件Git Commit Template的使用
    myEclipse10安装以及破解
    ES6中Map与其他数据结构的互相转换
    ES6用来判断数值的相关函数
    WebStorm使用码云插件问题
    Css解决表格超出部分用省略号显示
    Js/Jquery获取网页屏幕可见区域高度
  • 原文地址:https://www.cnblogs.com/avenwu/p/2325947.html
Copyright © 2011-2022 走看看