【问题标题】:TDD? BDD? I'm confused! What should I use for testing and why?TDD? BDD?我很困惑!我应该使用什么进行测试,为什么?
【发布时间】:2011-01-28 16:33:20
【问题描述】:

所以是的,我要开始做这个测试了!
但是不知道用什么=/

Rspec + 应该吗?
Rspec + 牛排?
迷你测试?
黄瓜?
水豚?
可以吗? (黄瓜与Shouda混合)
Mini_should? (Minitest with Shoulda mixup)

啊,这么多选择!我很困惑 <. gems sinatra rails>你们使用什么以及为什么?

【问题讨论】:

  • 我认为这应该在programmers.stackexchange.com上询问
  • @Pointy:我不这么认为。如果他的问题只是 bdd 与 tdd,是的,但他实际上是在询问库。
  • @ryeguy - 好吧 - 继续 :-)

标签: ruby-on-rails ruby tdd bdd


【解决方案1】:

如果您刚刚开始,您应该使用默认设置并遵循the official guides。重要的是您练习测试。您使用哪个测试库/框架并不重要 - 这是一种风格选择,次于实际练习测试 - 开始测试 Rails 应用程序的最简单方法是遵循“Golden官方指南布局的路径。

一旦您对测试 Rails 应用程序感到更加自如,您将能够更好地评估现有的选项。我个人喜欢 rspec 和 cucumber(目前 - 我可能会决定改变我的偏好),但我只有在对测试有点熟悉和对 Rails 有点熟悉之后才能提出这个偏好。

【讨论】:

    【解决方案2】:

    我刚刚遇到this blog post,其中指出:

    似乎在 Ruby 中接受测试的方式是使用 Rspec 进行单元测试,使用 Cucumber 进行验收测试(更高级别的功能测试)。

    然后它继续问:“如果我们同意 BDD 是好的,为什么我们不以更适合 BDD 的格式编写单元测试,即 Cucumber 测试格式?”并将 rspec 单元测试与 Cucumber 中的单元测试进行比较。

    【讨论】:

      【解决方案3】:

      在工作中,我们使用非常标准的 RSpec 和 Cucumber 组合。我不知道他们是如何决定这个特定组合的,当我开始为我们工作时,它已经存在,所以没有必要改变。此外,它是一个非常广泛使用的组合,因此使用 Google 等查找示例并不难。

      对于我基于 1.9 的私人项目,我想我将从现在开始使用 Minitest。没有外部依赖,一个简单的 BDD DSL (require 'minitest/spec') 和其他一些细节,比如随机化。这是一个很好的快速介绍:

      http://www.bootspring.com/2010/09/22/minitest-rubys-test-framework/

      【讨论】:

      • 只是在看 minitest,它看起来确实很有希望。我来自 RSpec + Cucumber(和 Guard)。
      【解决方案4】:

      对于刚入门的人,我建议只使用 RSpec。它不能做所有事情,但它可以让你建立合理的单元和集成测试集。当您遇到 RSpec 轻松处理的限制时,请让该需求指导您选择其他工具。

      【讨论】:

        【解决方案5】:

        没有什么比正义更明智的了,但在您忽略这种智慧之前 :-) 请观看此视频(最小作者 Ryan Davis 在 Cascadia 2011 ruby​​ conf):

        http://confreaks.net/videos/618-cascadiaruby2011-size-doesn-t-matter

        幻灯片:http://www.zenspider.com/~ryan/presentations/CascadiaRubyConf_2011_-_Size_Doesn%27t_Matter.pdf

        能够非常快速地运行所有测试是一件非常好的事情。

        【讨论】:

          猜你喜欢
          • 2021-09-16
          • 2015-07-03
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多