无法通过测试助手找到 css best_in_place
Unable to find css best_in_place with test helpers
我正在努力做到最好
test helpers
在我的应用程序中工作。我在用
水豚与 Test::Unit
我写了一个这样的测试。
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
我收到这样的错误
Capybara::ElementNotFound: Unable to find css "#best_in_place_company_1001664029_name"
我尝试在 bip_text 之前添加一个 sleep(0.5) 以查看它是否是一个时间问题这并没有改变错误。
编辑:
<span data-bip-type="input"
data-bip-attribute="name"
data-bip-object="company"
data-bip-original-content="Lightbulbs Corp."
data-bip-skip-blur="false"
data-bip-url="/companies/1001664029"
data-bip-value="Lightbulbs Corp."
class="best_in_place"
id="best_in_place_company_1001664029_name">Lightbulbs Corp.</span>
这是测试环境中页面的 css 元素的样子。看来id是对的。任何帮助将不胜感激。
我刚刚重读了您的问题,发现您正在使用 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
我正在努力做到最好 test helpers 在我的应用程序中工作。我在用 水豚与 Test::Unit 我写了一个这样的测试。
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
我收到这样的错误
Capybara::ElementNotFound: Unable to find css "#best_in_place_company_1001664029_name"
我尝试在 bip_text 之前添加一个 sleep(0.5) 以查看它是否是一个时间问题这并没有改变错误。
编辑:
<span data-bip-type="input"
data-bip-attribute="name"
data-bip-object="company"
data-bip-original-content="Lightbulbs Corp."
data-bip-skip-blur="false"
data-bip-url="/companies/1001664029"
data-bip-value="Lightbulbs Corp."
class="best_in_place"
id="best_in_place_company_1001664029_name">Lightbulbs Corp.</span>
这是测试环境中页面的 css 元素的样子。看来id是对的。任何帮助将不胜感激。
我刚刚重读了您的问题,发现您正在使用 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