4

rspec_api_documentation (https://github.com/zipmark/rspec_api_documentation) を私のシナトラ アプリに統合しようとしています。以下のエラーが発生しています。構成の何が問題なのかを理解したら、より大きなアプリに再統合すると機能すると思うので、エラーを単純なテストに単純化したのは明らかです。

ありがとう!

app.rb で:

require 'rubygems'
require 'sinatra'

get '/index' do
  "hewoah!"
end

spec.rb で:

require "rspec_api_documentation"
require "rspec_api_documentation/dsl"

RspecApiDocumentation.configure do |config|
#  config.app = App
end

resource "Users" do
  get "/index" do
    example "Returns text" do
      do_request
      status.should be_ok
    end
  end
end

rspec spec/acceptance/spec.rb --require ./app.rb Fの結果

Failures:

  1) Users GET /index Returns text
     Failure/Error: do_request
     NoMethodError:
       undefined method `call' for nil:NilClass
     # ./spec/acceptance/spec.rb:11:in `block (3 levels) in <top (required)>'

Finished in 0.02234 seconds
1 example, 1 failure

Failed examples:

rspec ./spec/acceptance/spec.rb:10 # Users GET /index Returns text
4

1 に答える 1

5

ベアアプリケーションを登録するには、アプリをSinatra :: Application:に設定する必要があります。

specApiDocumentation.configure do |config|
#  config.app = App 
end

に:

specApiDocumentation.configure do |config|
   config.app = Sinatra::Application
end 
于 2012-05-10T15:15:37.810 に答える