【问题标题】:Alternatives to Shoulda?应达的替代品?
【发布时间】:2012-02-19 22:30:43
【问题描述】:

在开发项目时,我求助于 shoulda 进行测试,只是因为它是我熟悉的。但是,该项目还没有发布in over a year。我想知道是否有人对替代品有建议,或者我是否应该坚持使用 shoulda?

【问题讨论】:

  • 不是“Woulda”和“Coulda”的替代品吗? :D

标签: ruby-on-rails-3 unit-testing testing functional-testing shoulda


【解决方案1】:

The remarkable gem 是我发现的最接近应该的。不幸的是,它看起来已经很久没有更新了。它还依赖于 RSpec,并且与 Test::Unit 不兼容。

我不清楚它对 Rails 3 的支持程度如何——尽管有一些关于启动和运行它的说明。

在研究了 Shoulda 和 Remarkable 之后,我决定选择 Shoulda,因为它似乎仍然是更有可能更新的助手集。

您在使用 shoulda 时会遇到的一个问题是 Thoughtbot 使用 RSpec 而不是 Test::Unit,这也是 Shoulda gem(为 Test::Unit 用户的利益而存在)很少见的部分原因活动 - gem 的 RSpec 组件 shoulda-matchers 已更新 much more recently。 Thoughtbot 还发现了一个new maintainer for shoulda-contextin Jan 2012(这是与 shoulda-matchers 一起使用的 gem,以使 Test::Unit 中的所有内容都正常工作 - shoulda gem 实际上只引入了 shoulda-matchers 和 shoulda-context)所以应该更多地关注我期望的测试::单元方面会向前发展。

希望这些举措至少能够让您相信 Shoulda for Test::Unit 将在未来更频繁地更新。在没有任何其他建议的情况下,我暂时会坚持使用 Shoulda。

【讨论】:

  • 感谢您的解释。希望我们会看到你提到的更改在 shoulda 版本上的一些急需的动作!
【解决方案2】:

Rspec 是用于在 ruby​​ 中进行测试的最常见的 BDD 框架,并且非常流行。如果你喜欢 shoulda 中的一些断言,它可以很好地与 shoulda 断言配合使用。 Ruby 还默认附带 test/unit 用于测试。 之间,您目前与 shoulda 有什么问题?

【讨论】:

  • 我知道 rspec,但这篇文章听起来好像它们不是替代品,而是更互补:stackoverflow.com/questions/4609543/…
  • 是的,您可以将 shoulda 断言直接用于 rspec。您还可以使用 shoulda 配置使用模拟。所以,是的,它们是免费的。 Shoulda 在为验证添加断言方面快速而有帮助。
  • 您可以通过在 Gemfile 中定义 gem 'should-matchers' 来添加 shoulda 匹配器
猜你喜欢
  • 2023-03-16
  • 2010-10-05
  • 1970-01-01
  • 1970-01-01
  • 2011-10-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多