【发布时间】:2015-11-24 16:14:19
【问题描述】:
当我简单地使用时
assert_select td, "test"
它似乎希望找到的第一个 td 元素具有值 test。
所以我尝试先在一个数组中选择所有这些,然后假设该数组 包含预期值:
assert_select 'td' do |elements|
assert elements.include?("test")
end
但这对我也不起作用,因为它总是绿色的。我不确定 Rails 和 Ruby 的哪些部分在测试中可用,所以最后一个想法只是在黑暗中的一个镜头。
【问题讨论】:
-
您的断言只是断言页面包含任何带有文本测试的 td 元素。如果你想检查某个元素,你应该使用普通的 css 选择器来指定它。例如,通过向 td 添加一个类并像这样检查它:
assert_select "td.your_class", "test" -
这就是我想做的:查看页面上是否有包含文本“test”的 td 元素。但是按照我的理解,在我的第一个示例中,我测试找到的第一个 td 元素是否包含“test”。
-
对不起,您是正确的,您需要指向确切的 td 才能测试内容。也许你可以用循环来做,但我认为这有点麻烦。
-
如果您不关心它位于哪个单元格中,您也可以选择该表,然后断言它包含字符串“test”。