TDD / BDD特别适用于Rails应用程序

时间:2009-11-02 12:56:29

标签: ruby-on-rails tdd bdd

使用TDD / BDD方法开发应用程序时,应该有多精细?特别是关于Rails应用程序。

您是否会单独测试每个字段,然后才能通过迁移使其通过?那么每个领域都有它自己的迁移?为了确保这个领域是他们的,你实际上会测试什么?

我真的试图让我的脑袋缠绕在哪里开始以及如何获得细粒度。我去开始并冻结,因为我不知道如何测试每一件小事。

我见过的大多数例子都以验证为例。我知道在此之前编写了更多的代码,我只是不知道如何测试最基本的东西,比如“应该有一个名字字段”。

非常感谢任何帮助。

谢谢!

2 个答案:

答案 0 :(得分:1)

您是否正在使用任何TDD / BDD工具,例如Cucumber

他们有一些关于using Cucumber with Rails的好消息。

基本上编写您的功能,然后使用脚手架使该功能通过测试。如果要向模型添加其他字段,请先更新该功能,让它失败,然后编写迁移并更新视图以使测试通过。

答案 1 :(得分:1)

我不会那么深入。事实上,我通常不会测试我的迁移,并且测试getter和setter当然不值得花时间(一般)。坚持通过测试来教你系统,并表达对代码的重要功能要求。

至于从哪里开始:选择一个您知道如何测试的要求 - 一个没有外部依赖关系的要求,一个路径绝对清晰的要求。编写测试来描述所需的行为,实现它,并重构代码以消除在实现过程中可能添加的任何丑陋。在为列表中的一些功能完成此操作之后,您可能会发现一些较为模糊的功能正在成为焦点,因为您已经构建了所需的构建块/依赖项。

AWDR The Rails Way 更详细地介绍测试实践的好书是 The RSpec Book ,一个测试版其中有电子形式。