Android中的Junit测试

  开发中Junit测试可以很方便的帮助开者尽可能早的发现并处理问题,而且使用也非常简单,只需要导入Junit测试相关的jar包并创建测试类,就可以对业务功能进行测试,而不用为了测试在代码中添加输出语句把代码搞得面目全非。需要注意的是,编写的测试方法只能是public void并且无参,在测试方法中就可以为所欲为了。

@Test
public void testAdd(){
    Demo d = new Demo();
    System.out.println(d.add(1,2,3));
}

  在Android环境下的测试似乎不太方便了,要编写测试类还要在应用项目配置中配置测试。好在google为大家提供了adt集成环境,这个问题也不是问题了。
  接下来,看看一个Android项目做Junit测试的配置步骤:
  1、在项目的AndroidManifest.xml文件中找到<application></application>节,在其中添加:

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

 

  2、在项目的AndroidManifest.xml文件中找到<manifest></manifest>节,在其中添加:

  <intent-filter>
      <action android:name="android.intent.action.MAIN" />
      <category android:name="android.intent.category.LAUNCHER" />
  </intent-filter>

  3、创建一个测试类,继承AndroidTestCase,在其中编写测试方法。如:

    public void testGetFirstName() throws Exception {
        PersonService ps = new PersonService();
        ps.getFirstName();
    }

    public void testCacl() throws Exception {
        PersonService ps = new PersonService();
        Assert.assertEquals(2, ps.calc());
    }

  4、最后就可以runas -> Android JUnit Test,Junit窗口会显示红条或绿条,Console中看到一些信息,诸如:

[2014-05-26 17:04:47 - SlideDemo] ------------------------------
[2014-05-26 17:04:47 - SlideDemo] Android Launch!
[2014-05-26 17:04:47 - SlideDemo] adb is running normally.
[2014-05-26 17:04:47 - SlideDemo] Performing android.test.InstrumentationTestRunner JUnit launch
[2014-05-26 17:04:47 - SlideDemo] Automatic Target Mode: using existing emulator ‘emulator-5554‘ running compatible AVD ‘XT531‘
[2014-05-26 17:04:47 - SlideDemo] Uploading SlideDemo.apk onto device ‘emulator-5554‘
[2014-05-26 17:04:48 - SlideDemo] Installing SlideDemo.apk...
[2014-05-26 17:04:49 - SlideDemo] Success!
[2014-05-26 17:04:49 - SlideDemo] Launching instrumentation android.test.InstrumentationTestRunner on emulator-5554
[2014-05-26 17:04:50 - SlideDemo] Sending test information to Eclipse
[2014-05-26 17:04:50 - SlideDemo] Test run finished

 

Android中的Junit测试,,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。