如何在测试过程中禁用一些宝石?

时间:2012-06-26 11:42:22

标签: ruby-on-rails ruby-on-rails-3 rubygems cucumber

我在我的rails 3应用程序上安装了一个可以顺利运行的gem,但是当我运行黄瓜测试时,缺少该gem以获得用户属性。实际上,由于安全管理,它应该是这样的。 (没有登录==没有信息)

所以,我想知道在运行黄瓜测试时是否有任何方法可以禁用此gem?所以我没有基于这个宝石的错误。

提前感谢!

2 个答案:

答案 0 :(得分:3)

在gemfile中,您可以在特定环境中添加gem。即。

group :development, :production do
  gem 'yahoo-weather'
end

此gem仅在开发和生产环境中添加。它不会出现在测试环境中。

答案 1 :(得分:0)

在与我的同事检查问题后,我们决定以这种方式完成这个问题的解决方案,

由于我们不希望特定的gem函数在测试过程中发挥作用,我们决定使用

acts_as_specificgem(do this do that) unless Rails.env == "test" 

无需在测试场景中重复自我,看起来更干净。

喝彩!