为什么 Rspec 找不到 select2 方法?

Why Rspec cannot find the select2 method?

我刚加入一家新公司,当我在 Rspec 中使用 select2 方法时,出现以下错误:NoMethodError:undefined method `select2' for...

我们使用'capybara-select-2'gem.

所以我在 spec_helper.rb 中添加了以下配置:config.include CapybaraSelect2 并且非常有效。问题,当在 heroku 上推送测试时,会引发错误:uninitialized constant CapybaraSelect2.

奇怪的是我的同事不需要添加配置行来使用这个方法...

你知道为什么没有它他可以使用它而我不能吗?感谢您的帮助。

您的同事可能 gem install capybara-select-2 在某个时候将它全局安装到他的环境中,而您通过捆绑器使用它。您应该确保它已包含在您的 gem 文件中的 :test 组中。

话虽如此,我不建议再使用 gem,它已经多年未更新了。

我的 CTO 终于找到了让我的代码正常工作的方法:

我在 spec_helper.rb 末尾调用 config.include CapybaraSelect2,所以他将其移动到 rails_helper.rb 内,如下所示:

config.include Devise::Test::IntegrationHelpers
config.include ActiveSupport::Testing::TimeHelpers
config.include ::Passwordless::TestHelpers::SystemTestCase
config.include CapybaraSelect2

现在一切正常!