Goa*_*lie 2 rspec ruby-on-rails capybara
我目前正在使用以下代码来检查我的页面是否有特定的文本:
it { should have_selector('test_container', text: 'hiya') }
Run Code Online (Sandbox Code Playgroud)
我所检查的只是页面上的一个跨度:
<span id="test_container">hiya</span>
Run Code Online (Sandbox Code Playgroud)
如何测试这样的特定跨度标签的内容?我不想检查整个页面的文本“hiya”,而是检查如上所述的特定跨度标签。
谢谢!
Capybara 在这里为您提供了两种可能性,您可以使用 find 方法:
find('#text_container').should have_content('hiya')
Run Code Online (Sandbox Code Playgroud)
或者您可以将块范围限制为 html 容器:
within '#text_container' do
page.should have_content 'hiya'
end
Run Code Online (Sandbox Code Playgroud)
请注意,虽然您page.should在块中说,但它仅限于作用域元素。