首页 > 解决方案 > 带有文本和子元素的 Assert_select

问题描述

所以如果这是在我看来

<div class='foo'>Some text: <strong>strong text</strong></div>

我想使用 rails minitest 围绕它编写一个测试。

到目前为止,我有:

assert_select '.foo' do 
  assert 'Some text:', 1
  assert_select 'strong', 'strong text', 1
end

这有效,但是我想完全检查它:

assert_select '.foo', 'Some text: <strong>strong text</strong>', 1

标签: ruby-on-railsminitest

解决方案


要执行多个相等测试,请使用具有以下键的哈希:

  • :text - 将选择范围缩小到具有此文本值(字符串或正则表达式)的元素。

  • :html - 将选择范围缩小到具有此 HTML 内容(字符串或正则表达式)的元素。

https://api.rubyonrails.org/v4.1/classes/ActionDispatch/Assertions/SelectorAssertions.html#method-i-assert_select

assert_select '.foo', html: 'Some text: <strong>strong text</strong>'

推荐阅读