Eclipse的程序调试——android学习笔记

每个Android应用上线之前都会进行一系列的测试,确保应用能够正常使用。通常情况下,测试Android应用使用的都是JUnit单元测试。另外,当程序出错时,还会通过Android中的LogCat(日志控制台)或者Toast来调试错误。

- JUnit单元测试
JUnit实际上是一个测试框架,它是SDK1.5加入的自动化测试功能,可以在完成某一个功能之后就对该功能进行单独测试,而不需要把应用程序安装到手机或者模拟器中再对各项功能进行测试。JUnit单元测试既可以嵌入到项目中,也可以作为一个单独的项目,针对某个项目进行测试。具体步骤如下:
    1.配置JUnit环境
   在进行JUnit测试时,首先需要在AndroidManifest.xml的结点下配置指令集和在结点下配置函数库,具体代码如下:
  

<application
   <uese-library android:name="android.test.runner"/>
   ...
</application>
<instrumentation
    android:name="android.test,InstrumentationTestRunner"
    android:targetPakage="cn.itcast.junit" />

其中,JUnit的指令集和函数库都是固定写法,中android:targetPakage配置的包名必须要与被测试的应用包名一致,否则会出现找不到测试用例的错误。
     2.创建测试类
     创建一个类JUnitTest继承AndroidTestCase类,该类中包含一个测试方法testAdd(),用于实现求和功能。需注意的是,测试方法必须把异常(Exception)抛出,不能捕获异常,以免程序程序出Bug后把异常捕获而导致测试框架得不到测试结果。JUnit代码如下所示:
    

package cn.itcast.junit;
import acdroid.test.AndroidTestCase;
public class JUnitTest extends AndroidTestCase {
    public void testAdd() throws Exception {
         int x=5;
         int y=3;
         //断言,第一个参数是我们所期望的值,第二个参数为真实值。
         assertEquals(8,x+y);
         }
 }

上述代码中 assertEquals()方法用于断言我们所期望的结果与运行程序是否匹配,如果匹配表示程序运行正确,否则表示程序错误。x+y可替换为方法名(被测试的方法)。
      3.运行测试
      测试程序时有两种方式,一种是选中类名,右击并依次选择Run As→Android JUnit Test,对代码进行测试,这种测试是针对该类中多有方法进行测试。另一种是选中方法名,右击并依次选择Run As→Android JUnit Test,对代码进行测试。
      若结果正确JUnit窗口会显示绿色条,否则显示红色条,并且还会显示testAdd()方法运行的时间,此时单击出错的方法,会将错误定位到源代码中的某行代码,这样可以清楚地看到是哪一行代码出错,对修改Bug有很大帮助。
- LogCat的使用   
       在Android中,应用的调试信息会输出到这个设备单独的日志缓冲区中。LogCat就是从设备日志缓冲区取出这些日志信息的工具。
       一般采用android.util.Log类的静态方法就可以实现。Log类所输出的日志内容分为5个级别,由低到高分别是Verbose(显示全部信息,黑色)、Debug(显示调试信息,蓝色)、Info(显示一般信息,绿色)、Warming(显示警告信息,橙色)、Error(显示错误信息,红色),这些级别分别对应Log类中的Log.v()、Log.d()、Log.i()、Log.w()、Log.e()等5个静态方法。
       接下来在JUnit单元测试项目的MainActiity文件中添加打印的Log信息,具体代码如下所示:
      

public class MainActivity extends Activity {
      protected void onCreate(Bundle savedInstanceState) {
             super.onCreate(savedInstanceState);
             setContentView(R.layout.activity_main);
             Log.v("MainActivity","Verbose");
             Log.d("MainActivity","Debug");
             Log.i("MainActivity","info");
             Log.w("MainActivity","Warning");
             Log.e("MainActivity","Error");
             }
}

     在Eclipse依次选择Window→Show View→LogCat打开LogCat控制台窗口,运行程序,此时LogCat控制台窗口中会打印所有的Log信息。Log.x()方法中前一个引号中表示的是TAG值,是自定义TAG信息,用于过滤信息,通常使用类名,后一个引号中显示日志文本信息内容。LogCat窗口中有过滤器,可根据TAG、输出内容、进程id、应用名称、Log日志的级别过滤信息。
      
- Toast的使用 
      Toast会显示一个小消息告诉用户一些必要信息,该消息在显示短时间后自动消失,并不会干扰用户操作。Toast组件有两个方法:makeText()和show(),其中makeText()方法用于设置要显示的字符串,show()方法显示消息框,其基本语法如下:
     

Toast 变量名称=Toast.makeText(Context,Text,Time);
变量名称.show();

      第一个参数Context是一个抽象类,表示应用程序环境的信息,即当前组件的上下文环境,在Activity中使用当前“主程序类名.this”即可。Text是要显示的消息字符串,Time表示显示时长,该属性是特定的值,Toast.LENGTH_LONG表示较长的时间显示,Toast.LENGTH_SHORT表示较短时间显示。这两个属性值也可用int型0或1表示,“0”表示短时间,“1”表示长时间。
      简写形式如下:
     

Toast.makeText(MainActivity.this,"这是弹出消息!",Toast.LENGTH_SHORT),show();

      接下来将上面的实例代码添加到JUnit单元测试的MainActivity文件中,重新运行程序。
      Toast组件默认显示在屏幕下方,不适于观察代码中的详细错误,多用于信息提醒,例如,网络未连接、密码错误等。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值