我正在浏览Hartl Rails 教程,并完成了 9.60、9.61、9.62 中的练习,这些练习要求重构新的和编辑带有新部分的表单代码。表单现在使用“提供”来提供按钮文本,如下所示:
<% provide(:button_text, 'Create my account') %>
在页面上以“yield”呈现,如下所示:
<%= f.submit yield(:button_text), class: "btn btn-primary" %>
虽然不是练习的一部分,但我并不是要编写一个集成测试来测试每个页面按钮上的正确文本。例如,此代码将测试注册表单页面:
test "signup page" do
get signup_path
assert_select "title", full_title("Sign up")
assert_select "input[type=submit]", value: "Create my account"
end
但是,我无法找出选择按钮并为按钮文本指定正确值的正确代码。我使按钮文本不正确以尝试使测试失败,但没有找到在失败时成功的正确测试语法;-)
ActionDispatch 的文档没有对此测试用例有帮助的具体示例。