【发布时间】:2014-04-16 14:16:41
【问题描述】:
我发现,当我写单元测试的时候,尤其是那些不返回值的方法,我大多是用白盒测试的方式来写测试。我可以使用反射来读取私有数据,以检查它在方法执行后是否处于正确的状态等......
这种方法有很多限制,其中最重要的是
- 如果你返工方法,你需要改变你的测试,即使是 API 保留 一样的
- 从信息隐藏(封装)的角度来看是错误的 - 测试是我们代码的一个很好的文档,所以会阅读的人 它可能会得到一些关于实施的不必要信息
但是,如果方法不返回值并使用私有数据进行操作,那么像使用黑盒测试范例一样进行测试是非常困难的(几乎不可能)。
那么,有什么想法可以很好地解决这个问题吗?
【问题讨论】:
标签: oop unit-testing black-box-testing white-box