2016-12-14 59 views
-1

我只是试验了一点黄瓜和水豚。在Ruby类中使用水豚

我在写一个会为我执行一些用户管理的类。

我有以下类:

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 

当我尝试和创建这个类的一个实例,我得到`NoMethodError:未定义的方法FILL_IN'为#

我想通过requieing水豚等,我可以在我的班级中使用他们的方法。

显然我错了,有谁能指出我哪里出了问题吗?

回答

1

您应该包括Capybara::DSL

require 'capybara/dsl' 

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

这是伟大的感谢你,我得到了“希望”一步,我试着包括包括的RSpec ::预期,但它一点儿也不帮助 – Tom

+1

相同@Tom n/p :)在Ruby类中使用RSpec没有意义。测试应该分开。 –

+0

好的,谢谢。超越自我。 – Tom