ruby-on-rails - RSpec 功能规范中未呈现的链接
问题描述
以下代码应该呈现一些链接,但是当在 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,不知道这是否会以任何方式干扰规范中链接的呈现。
解决方案
该部分margin-left: -200px
中的@include media-breakpoint-down(md)
看起来可能是罪魁祸首。给定特定的屏幕尺寸(无法确定您发布的内容),侧边栏将隐藏在屏幕的左边缘(因此不可见)。您可能需要为正在运行的测试正确设置浏览器的窗口大小。
推荐阅读
- sql - SQL 查询:我想使用联结表显示用户名和角色描述
- java - Redis 分布式锁混淆结果与 Lua 脚本
- salesforce - 如何创建触发器以便在每次帐户的所有者 ID 更改时创建一个事件?
- javascript - 如何将拖放的图像保存到服务器?
- php - 从字符串数组PHP中获取城市名称
- twitter-bootstrap - 引导 4 网格
- haskell - 有没有办法防止 Data.Generics.Alloy.GenInstances 扫描 Data.Text.Internal?
- angular - Angular Karma 测试错误:“未捕获的 ReferenceError:系统未定义
- arcgis - Arcgis 世界交通服务是否支持历史数据?
- php - 在 Cake PHP 中更新现有的 sql 数据