我想运行一个测试*来检查是否存在这样的东西:
<tr>
<td> name </td> <td> date </td>
</tr>
代码,如以下所示:
assert_select "tr" do
assert_select "td", name
assert_select "td", date
end
看起来似乎合理,但并不正确,因为下面的例子(这不是所需的匹配(也会通过:
<tr>
<td> name </td>
</tr>
<tr>
<td> date </td>
</tr>
我很难从assert_select的文档中看出应该如何处理这一问题。
谢谢
Daniel
- 在默认的Rails集成测试中(我相信这意味着MiniTest(
我最终在css_select的结果上使用了regexs,这看起来有点不雅,但对我的目的有效。如果有更好的方法,我会感兴趣听它。我用了这样的东西:
pars = css_select "tr"
regexs = /<td>#{name}</td>.*<td>#{date}</td>/m
match = false
pars.each { |i| if i.to_s =~ regexs then match = true end}
assert match