ger*_*rky 7 php phpunit unit-testing
我目前正在开发一个现有的PHP项目.当前的代码设计并不是那么好,并且错误开始堆积起来.所以我想要的是添加一个全面的测试套件,使其更可靠.
已经有一些用PHP单元编写的单元测试,但测试覆盖率不是那么好.该项目并未真正遵循TDD或任何类型的测试密集型流程.我想尽可能地测试所有东西.但问题是我不确定是否可以添加现有代码的测试.正如我所提到的,代码结构并不是那么好,因此添加测试可能会变得非常麻烦和困难.
有没有更好的方法在这样的项目中添加单元测试?或者我应该重写项目?也许逐个模块?
尝试将单元测试添加到现有应用程序时出现的大多数问题都是因为,通常,应用程序没有将其功能划分为可以有效测试的类和方法.
这实际上不仅是TDD的主要优势之一,而且是在开发应用程序时编写测试的好方法.这些测试迫使您编写简洁的方法,目的明确,副作用尽可能少.
完全重写将是最终的解决方案,但我怀疑你有时间和精力来做到这一点; 此外,这样的行动可能不是我完全必要的!
老实说,根据我的经验,最好的方法是立即开始为每个模块编写测试,在需要的地方重构.从核心元素开始,例如用户注册和管理位,然后再进一步.
这可能看起来像是一项艰巨的任务,它可能会让你觉得你的工作是徒劳的,但从长远来看,这些测试将彻底消除调试应用程序所花费的时间!
进一步阅读: