是否有一种简单的方法可以在Capybara测试中包含RackTest方法?

时间:2013-04-12 18:41:51

标签: rspec capybara rack-test

Capybara 2删除了这些并建议将它们分开,但我们有一些情况我们想在测试中使用它们(在视图中启用api键,然后点击api等)。

我尝试了include ::Rack::Test::Methods,但我得到了:

undefined local variable or method `app' for #<RSpec::Core::ExampleGroup::Nested_1::Nested_1:0x007fb737932ba0>

2 个答案:

答案 0 :(得分:2)

我使用Rails和RSpec来测试API时遇到了同样的错误。我找到了一篇有关Rails 2.3的有用博客文章:http://eddorre.com/posts/using-rack-test-and-rspec-to-test-a-restful-api-in-rails-23x

module ApiHelper
  require 'rack/test'
  include Rack::Test::Methods

  def app
    ActionController::Dispatcher.new
  end
end

我对Rails 3.2的解决方案是(在config.ru中查找MyAppName):

module ApiHelper
  require 'rack/test'
  include Rack::Test::Methods

  def app
    MyAppName::Application
  end
end

答案 1 :(得分:0)

试试这个

def app
  Rails.application
end