在 Ruby class 中使用水豚

Using Capybara within a Ruby class

我只是对 Cucumber 和 Capybara 进行了一些试验。

我正在写一个 class,它将为我执行一些用户管理。

我有以下 class:

  class UserAdmin

  def initialize(data)
    @data = data
  end

  def add_user
    require 'rspec/expectations'
    require 'capybara/cucumber'
    require 'capybara/helpers'

    @data.hashes.each do |user_details|
      load_user_data(user_details)

    fill_in('firstname', with: @first_name)
    fill_in('surname', with: @last_name)
    fill_in('username', with: @new_username)
    fill_in('usernameConfirmation', with: @confirm_new_username)

    click_button_add_user

    end
  end

当我尝试创建这个 class 的实例时,我得到了“NoMethodError: undefined method fill_in” for #

我想通过 requieing Capybara 等,我可以在我的 class.

中使用他们的方法

显然我错了,谁能指出我哪里出错了?

你应该包括 Capybara::DSL:

require 'capybara/dsl'

class UserAdmin
  include Capybara::DSL
  Capybara.run_server = false
  # ...
end