当我们来到这个应用程序时几乎没有测试,现在有黄瓜测试覆盖最重要的部分。我们不确定该应用程序是否正常运行并且在开发过程中发生了多次灾难,其中大多数是由未发现的错误引起的。在模型生成HTML和PHP-itis的地方,代码非常难看。有许多无关的模型和控制器可以大大简化或消除。我的问题是,何时更简单地重构代码而不测试以前的功能?由于截止日期的限制,当我们知道它很糟糕并且可以很容易地消除时,很难证明花时间用测试覆盖所有现有代码是合理的。
答案 0 :(得分:1)
我猜这是一个客户端项目。我的方法是编写Cucumber测试以仅覆盖项目的行为,然后编写RSpec实现测试,涵盖您将要编写的新代码。
让客户端注销行为测试,这样,当您开始更改实现时,您可以确定没有彻底修改应用程序的行为。然后,编写您希望拥有的代码的测试,并重构直到测试全部为绿色。