在 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
我只是对 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