【发布时间】:2008-09-23 06:36:32
【问题描述】:
今天有很多人将单元测试作为开发的基础进行销售。这甚至可能适用于面向算法的强例程。但是,您将如何进行单元测试,例如内存分配器(想想 malloc()/realloc()/free())。生成满足指定接口的有效(但绝对无用)内存分配器并不难。但是如何为单元测试功能提供适当的上下文,这是绝对需要的,但不是合同的一部分:合并空闲块,在下一次分配时重用空闲块,将多余的空闲内存返回给系统,断言分配策略(例如first-fit) 确实受到尊重,等等。
我的经验是断言,即使复杂且耗时(例如遍历整个空闲列表以检查不变量)也比单元测试要少得多,而且比单元测试更可靠,尤其是。在编写复杂的时间相关算法时。
有什么想法吗?
【问题讨论】:
标签: c++ c unit-testing testing