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