【发布时间】:2010-06-30 13:27:21
【问题描述】:
我的意思是,哪些工具用于单元测试,哪些用于 BDD,甚至有明显的区别吗?
我刚刚从 C# 学习 Ruby,我熟悉的工具有用于纯单元测试/TDD 的 xUnit-style 和用于 BDD/集成测试的 Cucumber/SpecFlow。当然,如果您愿意,也可以使用单元测试工具进行集成测试。
我遇到的 Ruby 的主要测试工具是 Test::Unit、RSpec 和 Cucumber(显然还有很多,但这些似乎是最受欢迎的,因此可能是一个不错的选择) .
我不是在这里寻找一长串工具 - 如果有我错过的主要竞争者,请告诉我,但我宁愿在这个阶段保持简单,而不是开始使用带有在 MegaChode 平台上运行的库 X 扩展或其他任何东西。毕竟,我只是一个糊涂的 .Net 家伙!
很明显,Test::Unit 是为单元测试而设计的,而 Cucumber 是为 BDD 设计的。但我不确定 RSpec - 有些人似乎将其用作低级单元测试工具,而其他人则将其用作高级 BDD。同时,有些人似乎将 Test::Unit(和类似的)与 BDD 的其他库一起使用。
为了让您了解我的出发点,我认为您可以使用您的 BDD 工具编写更多功能性、可测试的规范(业务人员可能会理解),然后进行低级,在实现 Cuke(或其他)所需的功能时,使用单元测试工具以开发人员为中心的 TDD。
在 Ruby 中是否有一种普遍接受的方式来做这些事情,或者我是否需要忘记这种疯狂的想法并使用任何似乎可以完成工作的东西?
干杯, 授予
【问题讨论】:
标签: ruby unit-testing testing bdd