TDD和BDD在Rails 3中有什么关联?

6

我在TDD和BDD方面都是初学者。

以下是我所了解的:

在Rails中使用TDD,我会使用它内置的单元测试、功能测试和集成测试。

在Rails中使用BDD,我会使用Cucumber。

那么这两种技术是不应该同时使用的吗?

如果我使用TDD,则不应该使用BDD/Cucumber,反之亦然吗?

请为我解释一下这个话题。

谢谢。

2个回答

8

虽然我不是这方面的专家,但以下是我的简单回答。

Cucumber非常适合概述您网站的行为,将业务解决方案和代码结合起来,并从中开发网站。

完成此操作后,您可以创建Rspecs来测试MVC中数据的保留方式。对于模型,Rspec非常好用。

我建议在测试控制器时使用Factory-Girl。

总之,使用所有这些工具可以提供一系列全面的测试,以确保首先满足业务解决方案,其次确保您的架构可以承受可以通过rspec和factory-girl进行测试的多个角度。


3
我认为同时使用 RSpec/Cucumber 是一个好主意。个人而言,我更倾向于仅限于编写 RSpec 模型测试,因为编写控制器/视图规范相对困难,而 Cucumber 则涵盖了很多相关领域。 - Karl

0

我发现在编程中,如何做什么以及为什么要这样做的正确结合是最困难的部分,因为网络上通常有太多信息。一篇好的博客文章是Outside in BDD,它带领你使用Cucumber和RSpec进行测试。

作者Sarah Mei解释了开发人员使用BDD/TDD所需进行的流程,并强调了在测试控制器、模型和视图时需要注意的一些细节。

我倾向于认为Rspec适用于模型,特别是当您拥有超出Rails默认行为的自定义行为时。这在RSpec和Cucumber书籍中有所体现,只是需要一段时间才能找到关于测试什么、何时以及为什么的宝贵信息!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接