Android日志输出单元测试Debug

来源:互联网 发布:js教程pdf 编辑:程序博客网 时间:2024/06/02 05:55

 

一、Android的单元测试

       昨天进行的只是简单的开发,但从今天起的开发内容比较重要。所以首先应该学习Android的单元测试。在Android工程中添加单元测试的方法:

       1.向androidManifest.xml加入下面两段红色代码

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

      package="cn.itcast.action“ android:versionCode="1“  android:versionName="1.0">

 <application android:icon="@drawable/icon" android:label="@string/app_name">

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

        ....

 </application>

 <uses-sdk android:minSdkVersion="6" />

 <instrumentation android:name="android.test.InstrumentationTestRunner"

  android:targetPackage="cn.taobao.action" android:label="Tests for My App" />

</manifest>      

 这里的targetPackage必须是我们创建工程时指定的包名,也就是targetPackage指定的包要和应用的package相同。

       2.单元测试类(例如public class Logtest extends AndroidTestCase)

       我们的单元测试类,必须继承自AndroidTestCase类。

 

       3.单元测试方法(例如  public void testSomething() throws Throwable

       单元测试方法必须以test开头,是public,void的

 

       4.方法抛出异常

       方法要throws Throwable异常,Throwable是Exception的父类,单元测试框架捕获Throwable。

 在此方法里的异常不用trycatch的,只要throws抛出。因为

当我运行这个Logtest这个单元测试时,实际上运行:

JunitRun--》LogTest--》testSave()

JunitRun{

run(){

try{

LogTest l=new ...;

l.testSave();//抛出异常的地方

}catch{

//打印在junit控制台上面

}

}

}

       5.调用测试

       在outline面板或方法名上右键,Run AS Android Junit Test。

如果是debug的则在outline面板或方法名上右键,Debug AS Android Junit Test。

 

       6.打印信息

       在android中不能使用System.out.println()打印信息,但我们可以使用Android为我们提供的Log类来打印信息。可以使用Log.i打开info信息、使用Log.e打印error信息、使用Log.d打印调试信息...。

 

       7.查看打印的信息

       因为我们安装了ADT插件,所以选择菜单windows->Show View->Other...->Android->LogCat,打开 LogCat面板。在这个面板中我们可以看到Android输出的所有信息。

 

       但我们只想查看我们自己输出的信息怎么办呢?面板的右上角有个+号,使用它可以创建一个过滤器。比如我们输入一个info信息调用Log.i(tag,”Hello Android!”),tag是信息的标签,一般使用类名。创建过滤器,将Filter Name和by Log Tag都设置为我的们的tag ,OK。它为我们创建了一个新的以tag名称的分页,在这个分页中我们可以查看过滤出来的信息。

 

       在LogCat面板中还有V、D、I、W、E五个选择按钮,从右向左依次包含。比如我们选择D,那么下面的面板将只显示D、I、WE这四类信息。

 

原创粉丝点击