`

没有单元测试,怎能写代码

阅读更多
项目前期的技术点预研完成了,最近开始做原型开发。

之前没有在android上写过单元测试,今天写了几个组件,没有测试过,心里发虚,觉得都是裸代码,不稳啊。就试了一下单元测试怎么弄,总结如下:

1. eclipse里的默认做法是建一个什么测试工程(test project),不知道为啥要这样,以前java也没见这么搞。所以还是按照以前的做法,跟src目录平行地创建一个test目录

2. eclipse里好像不能直接new->junit test,真麻烦,只好手动在test目录下创建同名的package,比如要测试com.xxx.workforce.db下的一个QuestDAO,就在test目录下创建com.xxx.workforce.db

3. 然后创建一个单元测试类,继承android.test.AndroidTestCase,类的命名规范也沿袭以前的junit,在类名后面增加Test,命名为QuestDAOTest

4. 发现也有setUp()和tearDown()方法,这个倒是和junit一样,比较有用的是setUp()方法,可以完成一些初始化工作

5. 然后测试方法的命名也和junit一样,我要测试create()方法,那么测试方法就叫做testCreate()

6. 大功告成,跑一下,选择run->Run As->Android JUnit Test

7. 我日,失败了,居然报缺少instrumentation,instrumentation是啥玩意,上网查了一下,原来还要在manifest文件里增加
<uses-library android:name="android.test.runner" />


<instrumentation android:name="android.test.InstrumentationTestRunner"
		android:targetPackage="com.huawei.workforce" android:label="Android Unit Test" />


8. 又跑一下,这次可以了,测试都一次通过,心里爽多了

PS:如果需要Context的话,AndroidTestCase类里有一个getContext()方法
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics