Ruby on rails RoR Rspec标签,带have_选择器

Ruby on rails RoR Rspec标签,带have_选择器,ruby-on-rails,rspec,Ruby On Rails,Rspec,编辑:算出了。我应该做(“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 con

编辑:算出了。我应该做
(“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
不出差错。但是,如果我故意在该标记中出错,我会得到相同的输出,但期望值不同:

     <span.content>B.1</span.content>
B.1
内容和年龄之间唯一不同的是年龄是一个整数,而内容是一个字符串。我不确定为什么会发生这种情况。谢谢你的帮助


哦,还有,这不会发生在开发环境中,只会发生在测试中

我相信,答案在于你第二次尝试时选择的符号“:content”。要更正原始测试,请将其更改为 response.should应具有_选择器(“span.age”,:content=>work1.age.to_)

这是因为键“:content”指的是“span”元素的内容,所以您的意思是:“响应应该有一个“span.age”选择器,其内容等于计算表达式“work1.age.to_s”的结果。您最初的测试是寻找一个属性为“age”的“span.age”元素

response.should have_selector("span.content", :content => work1.content)
     <span.content>B.1</span.content>