【问题标题】:Why Rspec cannot find the select2 method?为什么 Rspec 找不到 select2 方法?
【发布时间】:2021-11-08 23:21:36
【问题描述】:

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

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

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

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

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

【问题讨论】:

    标签: ruby-on-rails capybara jquery-select2 rspec-rails select2-rails


    【解决方案1】:

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

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

    【讨论】:

    • 感谢您的回答,托马斯!我们检查了,我们有相同版本的gem 'capybara-select-2',它存在于我们的 gemfile 中的:test 中。与您的第二点相关,实际上有两个不同的 gem,其中一个最近(大约一年)更新了,它是由 @Hirurg103 构建的。如果您有其他想法可能会出现此问题,我会全力以赴:)
    【解决方案2】:

    我的 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
    

    现在一切正常!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-03
      • 2012-06-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多