我对Rails/RSpec/Capybara有点新意,所以这可能是一个新手问题,但谷歌并没有像我希望的那样多.我希望我可以使用
it { should have_link('link text', href: 'url', target: '_blank') }
Run Code Online (Sandbox Code Playgroud)
为应该在新窗口中打开的链接编写测试,但这似乎不起作用.我也尝试用大括号包装选项哈希:
it { should have_link('link text', {href: 'url', target: '_blank'}) }
Run Code Online (Sandbox Code Playgroud)
无论实际页面和正在测试的链接中是否存在目标属性,测试都将始终成功.更改href属性确实会导致测试失败.我认为has_link的选项哈希是要测试的属性列表.显然我错了,但是测试单个链接的目标属性的最佳方法是什么?希望不要使用XPath搜索...
Sal*_*lil 27
我不确定为什么你的代码不起作用.你试过这个:
find_link('link_text')[:href].should == 'url'
find_link('link_text')[:target].should == '_blank'
Run Code Online (Sandbox Code Playgroud)
dgi*_*rez 11
使用新的rspec 3语法:
is_expected.to have_link('link_text', href: 'url')
expect(find_link('link_text')[:target]).to eq('_blank')
Run Code Online (Sandbox Code Playgroud)
你可以这样做:
it { should have_css "a[href~='/somewhere'][target~='_blank']" }
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10755 次 |
| 最近记录: |