【问题标题】:Unit Test code generation单元测试代码生成
【发布时间】:2013-04-16 21:14:31
【问题描述】:

我们有一个开发了 2 年的项目,其架构设计不佳。现在一天根本没有任何单元测试。

当前版本的系统运行良好,但我们迫切需要重构核心模块。

预算也有限,所以我们无法雇佣足够数量的开发人员来编写单元测试。

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

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

【问题讨论】:

    标签: php unit-testing phpunit code-generation


    【解决方案1】:

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

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

    接下来,我建议您获取一份 Michael Feathers 的 Working Effectively with Legacy Code 的副本,它可以解决您面临的问题:需要对大型、未经测试的代码库进行更新,同时确保您不会破坏现有功能在这个过程中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-02-21
      • 1970-01-01
      • 1970-01-01
      • 2023-04-02
      • 1970-01-01
      • 2010-09-10
      • 1970-01-01
      相关资源
      最近更新 更多