您的位置:首页 > 其它

单元测试实践的主要问题与解决(7)

2013-01-01 15:38 357 查看


单元测试实践的主要问题与解决(7)

分类: 单元测试实践的主要问题与解决2012-01-12
10:36 1187人阅读 评论(0) 收藏 举报

(承上篇)

这个底层函数返回的是一个对象指针,如何模拟呢?双击函数名,打开底层模拟器。



首先,在前置代码中定义对象并初始化。然后,在模拟值中填写这个对象的地址。



这是模拟的结果。



复杂对象的数据一样可以移到表格中,这时,要移到表格中的不是对象本身,而是对象中包含的数据。例如,要把data.ui移到表格中,双击它的值“1234”就行了。



我们还可以用局部数据模拟的功能,处理各种各样的复杂情形。



例如,以下函数处理的是由界面输入的数据,这也是单元测试的一个难点。可以使用局变数据模拟,把界面输入转换成普通的内部输入。

这个函数的逻辑功能是计算SQL字符串,但计算结果没有输出到外部,这是内部输出,工具也可以判断内部输出是否正确。



下图是测试结果:



内部输入解决之后,无论别人(关联代码),是否存在,是否正确,是否被隔离,都可以完整检测我(当前代码)。检测我是否对所有数据,包括内部输入,都做了正确的分类和处理。



从而实现单元测试的目标:无论别人怎么样,我总是对的! 如果所有代码单元都做到了这一点,那会怎么样呢?整个项目就没有代码错误。

来看看嵌入式测试。在设备上进行单元测试不仅难度大、成本高,也无法达到应有的效果。如果在设备上测试,设备的一些输出是难于控制的,例如这个例子,假设只有在发生雷击时,获取前车距离的函数才会返回失败,那我们是不是等着雷击呢?

即使不考虑成本,嵌入式单元测试也应该在PC上进行,这样才能做到“我总是对的”。



(未完待续)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: