我在哪里可以添加用于minitest-rails-capybara的全局功能?

时间:2016-09-01 01:49:51

标签: ruby-on-rails-4 minitest

我希望在每个功能测试中调用以下功能,例如全局/公共功能必须在所有功能测试中可用) :

由于大部分测试都需要先登录。

def feature_login(username, password)
  scenario 'user sign in with valid data' do
    within 'form' do
      fill_in 'username',    with: username
      fill_in 'password', with: password
      click_button 'continue'
    end
  end
end

我尝试将上述代码放在 test_helper.rb 中,但我得到了:

NoMethodError: undefined method `scenario'

似乎语法不同(与通常的功能测试不同)。

在我的登录功能测试中:

  require "test_helper"

  feature "Login" do
    before do
      visit root_path
    end

    scenario 'user sign in with valid data' do
      feature_login('admin', 'my_pass') # so I can simply call like this.    
      page.current_path.must_equal '/en/home'
    end
  end

我想调用公共功能,例如feature_login(' admin',' my_pass')

我怎样才能完成那个?

请帮忙!

1 个答案:

答案 0 :(得分:0)

解决:

哦!我想通了。

只需删除方案块。

在我的test / test_helper.rb。

  def feature_login(username, password)
      within 'form' do
        fill_in 'username',    with: username
        fill_in 'password', with: password
        click_button 'continue'
      end
  end