当前位置: 代码迷 >> Android >> Android日记输出单元测试Debug
  详细解决方案

Android日记输出单元测试Debug

热度:71   发布时间:2016-05-01 16:28:26.0
Android日志输出单元测试Debug

?

一、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这四类信息。

?

  相关解决方案