ruby on rails - RoR Rspec tags with have_selector



编辑:明白了。我应该写("span.age", :content => ...)

当我运行这个rspec测试

时,我得到以下错误
response.should have_selector("span.age", :age => work1.age.to_s):
Failure/Error: response.should have_selector("span.age", :age => work1.age.to_s)
       expected following output to contain a
     <span.age age='15'/> tag

输出
....
     <td class="work">
       <span class="age">15</span><br><span class="content">B.1</span>
     </td>

在跨度上运行相同的测试。

内容标签
response.should have_selector("span.content", :content => work1.content)

不会产生错误。但是,如果我故意在该标记中出错,则会得到相同的输出,但期望不同:

     <span.content>B.1</span.content>

content和age之间唯一的区别是age是一个整数而content是一个字符串。我不确定为什么会发生这种情况。谢谢你的帮助。

哦,同样,这不会发生在开发设置,只有在测试。

我相信答案就在于你在第二次尝试时选择的符号":content"。要更正原始测试,请将其更改为响应。应该have_selector("跨越。",:content => work1.age.to_s)

这是因为键":content"指的是"span"元素的内容,所以你是在说:"响应应该有一个"span"。Age"选择器,其内容等于表达式"work1.age.to_s"的求值结果。你最初的测试是寻找一个"跨度"。

相关内容

  • 没有找到相关文章

最新更新