我有这个代码,我试图点击按钮来测试它的功能使用警卫和水豚。当我像这样写它时,我会得到一个未定义方法错误。如果我注释掉click_button行,它会返回,没有错误。它还应该呈现一个响应,表示导入成功,该响应将由索引页显示。
require 'rails_helper'
require 'spec_helper'
RSpec.describe "Imports", type: :request do
it "checks the import page." do
get '/imports'
click_button "submit"
end
end
加载元素需要多长时间?如果> 2秒(capybara默认等待时间是2s),那么你很可能会得到未定义方法错误…
尝试增加capybara的超时时间或只对该元素执行此操作:
click_button "submit", wait: 10
如果这不能解决你的问题,那么确保"submit"是元素的正确路径…
默认情况下,Capybara::DSL仅包含在type:特性的测试中,您是否也将其包含在type:request中?