用RSpec测试Rails应用的最佳方法是什么?

理论指出,您可以从BDD周期开始,然后逐渐发展为TDD周期。 添加一个功能规格,然后添加一个控制器规格,一个视图规格,一个模型规格,实现每个部分,然后重新开始。 那是安全的路线。 大多数人实际上并不遵循这些。 经验会告诉您您必须进行多少测试的舒适程度。 如果您不知道,请全部完成整个堆栈。 在一个项目中花费了几个月的时间后,您才有权选择,现在您必须重构,删除片段,重写某些部分,并且必须对跳过规格的部分或编写脆弱的规格的部分感到痛苦。现在您将花费更多的时间来调整规格,然后自行执行。 没有“重要性顺序”或“功能规格与控制器规格重复”之类的东西。 没有一成不变的硬性规定。 有舒适度。 例如,如果您是自己的个人宠物项目的唯一开发者,并且您完全确定没有其他人会接触过这段代码,并且不想添加任何规格,那么就不要这么做。 特别是如果您知道某些东西会被扔掉。 现在,测试级别的变化越多,您就知道您不会永远留在项目中,您就越了解,将有更多的开发人员执行其他最终将与您的模块集成的模块。 实际上,大多数人会为最复杂或最重要的功能添加功能说明(是的,可以避免仅对登录屏幕或“忘记密码”屏幕做锅炉操作功能说明,但这不是优先事项)。 添加所有模型和相关类的规范,例如Workers,Services,Decorators / Presenters等。添加路由规范以确保导航不会中断。 添加控制器规范以确保您的视图接收到正确的实例变量,这些变量将呈现视图,并添加功能规范以确保控制器/页面之间的导航正常。…