以下代码应该呈现一些链接,但是当在RSpec中执行功能规范来测试它时,即使在长时间睡眠之后执行save_and_open_screenshot
时链接也不存在它们仍然不会显示起来。执行save_and_open_page
确实会显示链接存在。
%nav#sidebar
= form_with url: entries_path, local: true, method: :get do |f|
= f.text_field :search
= button_tag type: 'submit' do
%i.fas.fa-search
%ul.nav.flex-column.pb-5.mb-5
- months.each do |month|
%li.nav-item
.nav-link{class: (current_page?(entries_path(month: month.to_date)) && 'active')}
= link_to month.strftime('%b-%Y'), entries_path(month: month.to_date)
侧栏上的CSS:
@import 'bootstrap'
@import 'fontawesome'
#sidebar
padding: 10px 0 30px 0
border-right: 1px solid #ddd
width: 200px
border-radius: 0 0 0 4px
transition: margin .3s
@include media-breakpoint-down(md)
position: absolute
top: 0
bottom: 0
z-index: 9
margin-left: -200px
&.visible
margin-left: 0
.nav-link
@extend .d-flex
@extend .align-items-center
height: 40px
padding: 0 30px
&.active
position: relative
font-weight: bold
我也在这个项目中使用turbolinks,不知道这是否会干扰规范中链接的呈现。
答案 0 :(得分:2)
margin-left: -200px
部分中的@include media-breakpoint-down(md)
看起来像是可能的罪魁祸首。给定特定的屏幕尺寸(不能确定那些来自您发布的内容),侧边栏将隐藏在屏幕的左边缘(因此不可见)。您可能需要为正在运行的测试正确设置浏览器的窗口大小。