没有单元测试,怎能写代码
2013-09-24 10:33
239 查看
项目前期的技术点预研完成了,最近开始做原型开发。
之前没有在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文件里增加
和
8. 又跑一下,这次可以了,测试都一次通过,心里爽多了
PS:如果需要Context的话,AndroidTestCase类里有一个getContext()方法
之前没有在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()方法
相关文章推荐
- 为何没有单元测试就没有高质量代码?
- Go语言如何在没有实现功能的情况下写出完善的单元测试代码
- xadmin 无法创建xadmin_log 或者是xadmin源代码使用,没有引用xadmin包报错或 1146, "Table 'mxonline.xadmin_log' doesn't exist"
- Eclipse, jsp代码修改之后,页面却没有变化!解决思路
- 写单元测试代码有什么好处
- 关于在eclipse中编写jsp代码时没有智能提示的问题
- 这么详细的分类 C# / C Sharp源代码网站你见过没有? C# / C Sharp中的每一个方法,每一个操作,每一个函数,每一个类.每一个属性,每一个事件都有相应的范例代码
- servlet配置正确,代码也没有报错,但是网页却显示500错误,刷新之后显示404错误
- 用eclipse新建servlet的时候为什么没有在web.xml里自动生成相应的代码?
- 单元测试和代码覆盖率工具的使用
- [欣赏代码片段] (JavaScript) 你使用过getComputedStyle没有
- Myeclipse代码提示-没有代码提示怎么办
- 解决Eclipse/MyEclipse编写代码时,没有提示的问题
- 从Excel文件中找出在TXT文件中没有出现的 行之_代码片段
- 启动时若没有用户代码则发出警告
- Java单元测试(Junit+Mock+代码覆盖率)
- Totem插件系统简单介绍(暂时只是代码开放,没有开源)
- Spring整合JUnit框架进行单元测试代码使用详解
- unittest+coverage单元测试代码覆盖操作实例
- EAS BOS 编辑界面代码关闭窗口后,列表没有刷新,关闭时写下面代码可解决