2016-12-14 30 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