Capybara 2删除了这些并建议将它们分开,但我们有一些情况我们想在测试中使用它们(在视图中启用api键,然后点击api等)。
我尝试了include ::Rack::Test::Methods
,但我得到了:
undefined local variable or method `app' for #<RSpec::Core::ExampleGroup::Nested_1::Nested_1:0x007fb737932ba0>
答案 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