我正努力做到最好 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元素。它看起来像是正确的。任何帮助将不胜感激。
答案 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