所以你可以进行这样的测试:
find(".blah").should have_content("blah blah")
但是有没有办法检查是否有东西在等等?
find(".blah").should have_some_content
所以你可以进行这样的测试:
find(".blah").should have_content("blah blah")
但是有没有办法检查是否有东西在等等?
find(".blah").should have_some_content
我不相信有你想要的 Capybara::RSpecMatchers。但是,您可以使用底层的 Capybara::Node::Matchers。
尝试:
find(".blah").has_no_text?.should be_true
如果您真的想使用 Capybara::RSpecMatchers,您可以使用have_content
查找任何非空白字符的正则表达式。
find(".blah").should have_content(/[^\s]/)
看起来你正在使用 Capybara。
而不是有问题的风格,我会这样写
page.should have_css('.bar', text: 'foo')
我会检查的返回值,find(".blah")
看看它在以下两种情况下是什么:
nil
?)然后编写测试只是为了确认,在您的情况下,存在该类的某些元素很容易。只需知道.find
找到和未找到某物时方法的返回值之间的差异即可。