【发布时间】:2018-07-16 01:18:48
【问题描述】:
我有一个这样的简单测试:
require 'rails_helper'
RSpec.feature "Evaluating Questions" do
before do
puts "before"
@john = FactoryBot.create(:admin_user)
login_as(@john, :scope => :admin_user)
FactoryBot.create(:question)
QuestionStatus.create!(name: "Approved")
visit questions_path
end
scenario "A user evaluates a question correctly" do
puts "scenario"
visit questions_path
click_link "Evaluate"
select('Approved', :from => 'revision_history_question_status_id')
click_button "Create Revision history"
expect(page).to have_content("Question was successfully reviewed")
end
end
问题是“评估”链接仅在用户获得 cancan 许可时才会显示。但是我在工厂创建的那个用户有权限。但是,rspec 仍然找不到页面上的链接,所以我猜它没有被渲染。任何想法如何解决这个问题?谢谢
编辑:
Rspec 错误信息: 失败/错误:click_link“评估”
Capybara::ElementNotFound:
Unable to find visible link "Evaluate"
【问题讨论】:
-
@MarkMerritt 完成
-
您可以使用
RSpec.feature "Evaluating Questions", js: true do在浏览器中运行测试以查看链接是否确定不可见?
标签: ruby-on-rails rspec cancan