Cucumber 什么';我的测试代码中有什么错误?

Cucumber 什么';我的测试代码中有什么错误?,cucumber,capybara,Cucumber,Capybara,我有一个这样的步骤 find("div#cycle_form table").should have_content(append_row_to_table_tag("day_num", "hour", "hour_night")) 方法append_row_to_table_标记返回字符串 "<tr><td>data</td><td>data</td><td>data</td><td>data&l

我有一个这样的步骤

find("div#cycle_form table").should have_content(append_row_to_table_tag("day_num", "hour", "hour_night"))
方法append_row_to_table_标记返回字符串

"<tr><td>data</td><td>data</td><td>data</td><td>data</td><td>data</td></tr>"
黄瓜失败了

expected there to be content "<tr><td>data</td><td>data</td><td>data</td><td>data</td> 
<td>data</td></tr>" in "day hour hour_night edit_button delete_button\ndata data data 
data data" (RSpec::Expectations::ExpectationNotMetError)
预期会有内容“数据”
数据“在”日小时小时夜编辑按钮删除按钮\n数据数据数据
数据(RSpec::Expections::ExpectationNotMetError)

如何使用capybara测试使用JavaScript向页面添加元素?

您可以使用Jasmine之类的gem来测试JavaScript。”这是一个很好的屏幕展示了它的工作原理。

Capybara的
have_content
方法处理文本内容,而不是HTML标记。通常,Capybara在DOM上运行,所以最好使用它的选择器来查询要断言的表的各个元素

如果您想将Cucumber表的内容与HTML表的内容进行比较,我发现了很多


如果您真的想测试页面上包含的特定标记,我相信您可以降到Nokogiri的本机表示并访问该HTML,甚至断言“<代码>页>正文< /代码>以获得完整的HTML源代码,但我认为这两个都是最后的选择。

谢谢回放,Skydreamer!我用水豚学黄瓜。。如何使用水豚进行测试?以及为什么我收到此通知“预计会有内容”问题已通过find(“div#cycle_form table”)解决。text.应该有内容(将行添加到表标签(“day_num”、“hour”、“hour_night”))
expected there to be content "<tr><td>data</td><td>data</td><td>data</td><td>data</td> 
<td>data</td></tr>" in "day hour hour_night edit_button delete_button\ndata data data 
data data" (RSpec::Expectations::ExpectationNotMetError)