我们有一个项目开发了2年的设计很差的架构。现在已经有几天没有任何单元测试了。
当前版本的系统运行情况令人满意,但我们非常需要核心模块的重构。
预算也是有限的,所以我们不能雇佣足够数量的开发人员来编写单元测试。
假设现在系统运行良好,当前系统的输出可以转换为XML-fixtures进行单元测试,那么为单元测试自动生成代码的策略可能吗?
这种方法使我们有可能快速开始重构现有代码,并在某些核心功能因更改而损坏时立即收到反馈。
发布于 2013-04-24 13:14:07
我对那些声称能够自动确定任意应用程序的需求并将其编码到优秀单元测试中的工具保持警惕。
相反,我会花一点时间来设置至少一些高级功能测试。例如,这些可能是在代码中,使用完整堆栈加载一组预定义的输入并检查已知结果。或者甚至更高级别的自动化工具,如Selenium或FitNesse (取决于您正在构建的应用程序类型)。首先专注于测试系统中最重要的部分,因为时间总是有限的。
再往前看,我建议你买一份Michael Feathers的Working Effectively with Legacy Code,它正好解决了你面临的问题:需要对一个大型的、未经测试的代码库进行更新,同时确保在这个过程中不会破坏现有的功能。
https://stackoverflow.com/questions/16173032
复制相似问题