Capybara自定义方法,这些应该去哪里?

时间:2017-07-13 16:02:36

标签: ruby-on-rails capybara

我一直在努力寻找如何使用Capybara从反应选择库中找到并选择,直到我偶然发现: https://github.com/JedWatson/react-select/issues/832

超级有用且确实有效,有人提到了一种有效的方法,我认为包含该方法定义很有用。

然而在轨道中会出现这样的情况吗?理想情况下,您不希望它在该测试文件中定义JUST。 rails_helperspec_helper文件之类的内容是否合适?或者是否应该为这些辅助函数制作单独的test_helper文件? (现在我知道test_helper文件是我在rails_helper

中设置驱动程序

我不确定“自动化明智”最佳惯例是什么?

1 个答案:

答案 0 :(得分:1)

使用RSpec时,rails_helper.rb通常有一行

Dir[Rails.root.join('spec/support/**/*.rb')].each { |f| require f }

这会在启动时加载spec / support目录中的所有rb文件。要添加方法,您需要添加一个新文件,例如spec/support/capybara_react_helper.rb,然后放入

module CapybaraReactHelepr
  def a_helper_method(...)
    ...
  end

  def another_helper(...)
    ...
  end
end

然后在RSpec配置中(通常在rail_helper.rb中稍后),您可以将这些方法包含在功能测试中

RSpec.configure do |config|
   ...
   config.include CapybaraReactHelper, type: :feature
   ...
end