Rspec 关于rails中TDD(BDD)的争论

Rspec 关于rails中TDD(BDD)的争论,rspec,tdd,Rspec,Tdd,我是RubyonRails开发的新手。我读过迈克尔·哈特尔写的一本名为《RubyonRails教程》的书。他在使用rspec实现函数之前编写了一个测试。然而,我认为这不是一个好主意。既然我已经知道页面应该有什么内容,为什么我要写这样的代码“它应该有…”这种不必要的东西。我计划写一个博客来练习我的rails技能,但我怀疑我是否应该写TDD或BDD,它是否会给我带来一些利润假设您有一个大型应用程序,并且有许多开发人员同时对该应用程序做出贡献。另外,你有数百个模块,有很多验证和计算等等。你会手动测试吗

我是RubyonRails开发的新手。我读过迈克尔·哈特尔写的一本名为《RubyonRails教程》的书。他在使用rspec实现函数之前编写了一个测试。然而,我认为这不是一个好主意。既然我已经知道页面应该有什么内容,为什么我要写这样的代码“它应该有…”这种不必要的东西。我计划写一个博客来练习我的rails技能,但我怀疑我是否应该写TDD或BDD,它是否会给我带来一些利润

假设您有一个大型应用程序,并且有许多开发人员同时对该应用程序做出贡献。另外,你有数百个模块,有很多验证和计算等等。你会手动测试吗?测试是否足够详尽

这就是TDD和自动化的关键所在。我曾经像你一样,仍然是我的一部分。但是一次又一次,我意识到我无法完美地完成测试,因为我往往会忘记一些事情,而彻底的测试确实会消耗时间。当然,为了节省开发成本,我们尽量不雇佣测试人员

以下是您将长期享受TDD(BDD)带来的好处:

缺陷更少,设计更好,API更好,设计更简单,成本更低 复杂性、提高的生产效率、更易于维护的代码等。 资料来源:

至于我,我认为能够从外部rails环境到开发和生产服务器进行集成测试,并测试输出就足够了,因为我是一名单独的开发人员。但在未来,当我与一个团队合作时,我知道我将需要单元测试和所有其他测试

我建议您进行单元测试(Rails附带)和cucumber,以便于选择dom元素。稍后,当您想用ajax测试前端时,可以使用selenium/webdriver


我希望这能回答你的问题。

你的回答把我吵醒了。您的建议是进行单元测试。我会考虑的。可能的副本