加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby – 为什么这个rspec测试为nil抛出了一个“未定义的方法’调

发布时间:2020-12-17 02:31:57 所属栏目:百科 来源:网络整理
导读:我正在尝试将rspec_api_documentation(https:// github.com/zipmark/rspec_api_documentation)集成到我的sinatra应用程序中.我遇到了下面的错误.我显然已将错误简化为裸测试,因为我认为一旦我弄清楚配置中出了什么问题,它就会重新集成到我的大型应用程序中.
我正在尝试将rspec_api_documentation(https:// github.com/zipmark/rspec_api_documentation)集成到我的sinatra应用程序中.我遇到了下面的错误.我显然已将错误简化为裸测试,因为我认为一旦我弄清楚配置中出了什么问题,它就会重新集成到我的大型应用程序中.

谢谢!

在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

解决方法

要让您的裸应用程序注册,您需要将应用程序设置为Sinatra :: Application:

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

至:

specApiDocumentation.configure do |config|
   config.app = Sinatra::Application
end

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读