我的意思是,哪些工具用于单元测试,哪些工具用于 BDD,是否有明显的区别?
我刚刚从 C# 学习 Ruby,我熟悉的工具有用于纯单元测试/TDD 的 xUnit 风格,以及用于 BDD/集成测试的 Cucumber/SpecFlow。当然,如果愿意,您可以使用单元测试工具进行集成测试。
我遇到的 Ruby 主要测试工具是 Test::Unit、RSpec 和 Cucumber(显然还有更多,但这些似乎是最受欢迎的,因此可能是一个不错的选择) .
我并不是在这里寻找一长串工具 - 如果我错过了一个主要竞争者,请告诉我,但我宁愿在这个阶段保持简单,而不是开始使用“Tool Z beta”在 MegaChode 平台或其他平台上运行的库 X 扩展。毕竟,我只是一个可怜的、困惑的 .Net 人!
很明显,Test::Unit 是为单元测试而设计的,而 Cucumber 是为 BDD 设计的。但我不确定 RSpec - 有些人似乎将其用作低级单元测试工具,而另一些人则将其用作更高级别的 BDD。与此同时,有些人似乎将 Test::Unit(和类似的)与 BDD 的附加库一起使用。
为了让您了解我的想法,我认为您可以使用 BDD 工具编写更多功能性、可测试的规范(业务人员可能会理解),然后执行低级操作,当您实现 Cuke(或其他)所需的功能时,使用单元测试工具进行以开发人员为中心的 TDD。
在 Ruby 中是否有一种普遍接受的方法来完成这些事情,或者我是否需要忘记这样一个疯狂的概念并使用任何看起来可以完成这项工作的东西?
干杯, 格兰特
最佳答案
我认为大多数 Rubyists 已经标准化了 RSpec 而不是 Test::Unit 来进行测试。如果您正在开发 Rails 应用程序,则可以使用 RSpec-Rails 和 Cucumber,您可以在其上分层。
获取 Rspec 书籍的副本 @ http://www.pragprog.com/titles/achbd/the-rspec-book
关于ruby - 哪些测试工具在 Ruby 中做什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3149668/