无法找到带有测试助手的css best_in_place

时间:2016-10-11 21:42:05

标签: capybara ruby-on-rails-5 best-in-place

我正努力做到最好 test helpers 在我的应用程序中工作我在用 Capybara with Test::Unit 我写过这样的测试。

Service

我收到这样的错误

class CompaniesTest < ActionDispatch::IntegrationTest
  include BestInPlace::TestHelpers

  def setup
    @company = companies(:public)
  end

  test "should have best in place fields on show" do
    get company_path(@company)
    assert_response :success
    assert_match @company.name, response.body
    bip_text( @company, :name, "new name" )
  end 
end

我尝试在bip_text之前添加一个sleep(0.5)来查看它是否是一个时间问题,这并没有改变错误。

编辑:

Capybara::ElementNotFound: Unable to find css "#best_in_place_company_1001664029_name"

以下是测试环境中页面的css元素。它看起来像是正确的。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

我刚刚重读了您的问题,发现您正在使用get。这不是Capybara方法,你不能混合使用两种不同的API,并期望事情能够发挥作用。要使用Capybara实现您正在做的事情,它将类似于

test "should have best in place fields on show" do
  visit company_path(@company)
  assert_text @company.name
  bip_text( @company, :name, "new name" )
end