我目前正在为我的控制器编写功能测试,我想检查是否有一行
这是一条测试线
出现在我的页面上。我尝试使用
assert_select "p" do
assert_select "this is the test line"
end
但我认为这条线有问题。
在 Rails 版本 3 中执行此操作的最佳方法是什么?
我目前正在为我的控制器编写功能测试,我想检查是否有一行
这是一条测试线
出现在我的页面上。我尝试使用
assert_select "p" do
assert_select "this is the test line"
end
但我认为这条线有问题。
在 Rails 版本 3 中执行此操作的最佳方法是什么?
不指定标签:
assert_match "this is the test line", response.body
我想你只是在寻找:
assert_select "p", "this is the test line"
有关. _ _assert_select
请注意,上面的行取决于包含在<p>
标签中的文本,并且是文字匹配。如果它在另一个标签中,您需要指定正确的选择器。如果您想在 Regex 上进行匹配,也可以通过以下方式进行匹配:
assert_select "p", /test line/
请注意,这不会非常高效,因为它会扫描文档中的所有'。 <p>
考虑一个更严格指定的选择器,例如您要定位的元素上的类或 ID。
这适用于rails 6:
assert_selector "p", text: "this is the test line"
文档:https ://www.rubydoc.info/github/jnicklas/capybara/Capybara/Node/Matchers
(我得到Unused parameters passed to Capybara::Queries::SelectorQuery
)