Ruby on rails 如何检查表列是否有给定的文本?
我正在做家庭作业,需要检查HTML表列是否给出了文本。我从web_steps.rb复制了这个示例,并尝试进行更改以满足我的需要,但测试失败。 步骤: 失败的步骤定义:Ruby on rails 如何检查表列是否有给定的文本?,ruby-on-rails,cucumber,Ruby On Rails,Cucumber,我正在做家庭作业,需要检查HTML表列是否给出了文本。我从web_steps.rb复制了这个示例,并尝试进行更改以满足我的需要,但测试失败。 步骤: 失败的步骤定义: Then /^(?:|I )should not see '([^']*)'$/ do |text| save_and_open_page if page.respond_to? :should page.find('#movies').should have_no_content(text) else
Then /^(?:|I )should not see '([^']*)'$/ do |text|
save_and_open_page
if page.respond_to? :should
page.find('#movies').should have_no_content(text)
else
assert page.find('#movies').has_no_content?(text)
end
end
错误是:
期望#has#no_content?(“G”)返回true,得到false
(RSpec::Expections::ExpectationNotMetError)
/features/step_definitions/movie_steps.rb:35:in/^(?:| I)不应看到“([^']*)”$/”
功能/过滤器电影列表。功能:37:在
中,我不应该看到“G”
电影是表的id。
表如下所示:
我被困在这里,不能再往前走了。有人能给我一些提示来解决这个问题吗?它失败的原因是因为它在“PG”中看到了大写字母G。基本上,您希望看到的是在“评级”列下没有TD单元具有G评级,对吗?您可能希望在步骤中尝试使用XPath深入到TD,并检查整个单元格是否包含您的文本。您可以尝试使用:
assert page.find('#movies').has_no_content?(">#{text}<")
assert page.find(“#movies”)。没有内容?(“>{text}谢谢,它可以工作。它甚至可以与assert page.find(“#movies”)。没有内容?(“{text}”)
assert page.find('#movies').has_no_content?(">#{text}<")