我在嵌入式系统上有一个很老的C代码的大代码库,很遗憾没有自动化的测试用例/套件。这使得重构和重构代码成为一项危险的任务。C函数调用和参数跟踪 - 测试用例和模拟生成
手动编写测试用例非常耗时,所以我认为应该可以通过跟踪所有函数调用和记录输入和输出值来自动执行此过程的至少一部分。然后,我可以在测试用例中使用这些值(除了某些函数,这不适用于所有测试)。根据收集的数据也可能创建模拟函数。
拥有这样的测试用例会使重构成为一个不太危险的活动。
有没有解决方案已经可以做到这一点?如果我必须自己编写代码,那么最简单的方法是什么?
我想过使用ctags
来查找函数定义,并将它们包装在一个记录参数值的函数中。另一种可能性可能是gcc编译器插件。
你不觉得这个问题属于superuser.com ...? – 2012-02-23 15:12:17
@ Mr.32:这是一个与编程高度相关的问题,所以它绝对属于这里。 – 2012-02-23 15:39:50