tl;博士
正如我在标题中所说,如果被测类是库类的包装器,它可能使用大量静态依赖项和/或可能使用数据库连接,这是用手动替换这个父类的最佳实践吗?写存根?
细节
Context 是 Yii PHP Web 框架的小部件工具包的单元测试套件。被测系统是 12k 行遗留 PHP 5.3 代码,首先我想编写一个特征测试,因为即使在 phpStorm 中,PHP 的自动重构也很糟糕。我对测试CWidget
类扩展器特别感兴趣。
它是一个 PHP,所以我可以require_once
为每个单元测试任意组合源文件,因此构建一个完全假的环境不是问题。
我有 Martin Fowler 的Refactoring和 Michael Feather 的Working Effectively with Legacy Code的副本,所以,如果有的话,也许有人可以指点我确切的技术,因为我似乎肯定忽略了一些东西。