我试图在我的测试中坚持 DRY 的做事方式。我有两种布局,public
根据application
用户是否登录显示某些链接和 css。我想知道他们是否是一种方式,或者我如何始终测试我的公共或应用程序链接和内容?他们使用我views/shared
文件夹中的不同视图。
这是我的欢迎页面的测试示例,该页面是公开的:
规范/请求/pages_spec.rb
describe 'Pages' do
describe 'Welcome Page' do
before { visit root_path }
response.should render_template("layouts/public")
it 'should have public footer present' do
find_link('Home').visible?
find_link('Login').visible?
find_link('Help').visible?
end
end
end
现在公共页脚是公共布局的一部分,我有更多属于这个布局的代码。我的目标是只写一次并将其放入某个方法中,并将其用于我需要的页面/测试。我该怎么做?我不想写看看是否在每个测试中都使用了适当的布局及其内容。