Rails测试按钮功能与水豚。

时间:2015-06-08 12:25:59

标签: ruby-on-rails-3 unit-testing capybara guard

我有这个代码,我试图点击按钮,使用guard和capybara来测试它的功能。当我这样写的时候,我得到一个未定义的方法错误。如果我注释掉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 个答案:

答案 0 :(得分:0)

加载元素需要多长时间?如果> 2秒(水豚默认等待时间是2秒)那么你很可能会得到未定义的方法错误......

尝试增加capybara的超时或仅为该元素执行:

ListView dataList = (ListView) findViewById(R.id.list);
dataList.setAdapter(adapter);
dataList.setOnItemClickListener(new OnItemClickListener() {...}       

如果这不能解决您的问题,请确保“提交”是您元素的正确途径......

答案 1 :(得分:0)

默认情况下,Capybara :: DSL仅包含在类型:功能的测试中,您是否也将其包含在类型中:request?