单元测试代码生成

时间:2013-04-23 15:14:38

标签: php unit-testing phpunit code-generation

我们有一个由2年开发的项目,其设计结构很差。现在有一天没有任何单元测试了。

当前版本的系统工作令人满意,但我们非常需要重构核心模块。

预算也有限,因此我们不能雇用足够数量的开发人员来编写单元测试。

是否可以自动为单元测试生成代码,包括例如与数据的交互,假设现在系统工作正常,当前系统的输出可以在XML-fixture中转换以进行单元测试?

这种方法使我们有可能快速开始重构现有代码,并在某些核心功能因更改而损坏时收到即时反馈。

1 个答案:

答案 0 :(得分:1)

我会警惕任何声称能够自动确定并将任意应用程序的要求编码为良好单元测试的工具。

相反,我会花一点时间设置至少一些高级功能测试。例如,这些可能在代码中,使用完整堆栈来加载预定义的输入集并检查已知结果。或者甚至更高级别的自动化工具,如Selenium或FitNesse(取决于您正在构建的应用程序类型)。首先要关注测试系统中最重要的部分,因为时间总是有限的。

继续前进,我建议您获取Michael Feathers'Working Effectively with Legacy Code的副本,该副本处理您遇到的问题:需要更新大型未经测试的代码库,同时确保不会破坏该过程中的现有功能。