是否有在Apache C模块上运行单元测试的框架?

Vag*_*err 5 c apache testing unit-testing cunit

我即将对现有的Apache C模块进行一些更改,以修复一些可能的安全漏洞和一般的不良做法.但是,代码的功能必须保持不变(除非修复错误).标准回归测试的东西似乎是有序的.我想知道是否有人知道在代码中运行一些回归单元测试的好方法.我正在考虑使用C-Unit,但是对于Apache APR和状态结构的所有关系,我想知道是否有一种很好的方法来测试它.是否有任何预先构建的框架可以与C-unit一起使用?

谢谢

彼得

小智 7

我一直在考虑回答这个问题,但想到其他人可能会得到一个更好的答案,因为我的相当不满意:不,我不知道任何这样的单元测试框架.

我认为你最好的办法是尝试重构你的C模块,使它对httpd代码库的依赖包含在一个非常薄的粘合层中.我不会过分担心APR的依赖性,它可以很容易地链接到您的单元测试代码中.这就像使用请求记录,你应该尝试抽象一点点.

我会走得太远,并建议如果代码被怀疑包含安全漏洞和不良做法,这样的重构是个好主意.这通常是一项非常重要的工作.

您还可以考虑运行集成测试而不是单元测试(理想情况是两者),即从服务器提出一组请求和预期响应,并运行程序来比较实际响应和预期响应.

所以,不是你一直在寻找的回应,你可能自己想到了这条路线.但至少我可以从经验中告诉你,如果出于商业原因无法用新的东西替换模块,那么为了测试而重构它可能会在较长期内得到回报.