1
describe GameSystem::Client do

  def client
    GameSystem::Client.new(signature_method: 'HMAC-SHA1', oauth_key: 'kk', oauth_secret: 'bb', oauth_access_token_url: 'https:://localhost')
  end

  before :each do
    WebMock.reset!       
  end

  describe 'response' do

    context 'wrong path' do
      it 'raises JSON::ParserError on invalid return value' do
        stub_request(:get,"https://games.com/game_id/invalid_id").to_return(:status => 200, :body => 'invalid json', :headers => {})
        Rails.logger.info "#{client.games_by_id("invalid_id")}"
      end
    end
  end

end

谁能让我知道我做错了什么或者我可以做些什么不同的事情?

它基本上会在该行抛出此错误

@access_token = @consumer.get_access_token(nil)在我的客户

4

2 回答 2

0

我意识到这个问题来自很久以前,但我只是在测试套件中遇到了这个问题。听起来很熟悉。

我的错误是

Failure/Error: get :index
  ActionView::Template::Error:
    undefined method `downcase' for nil:NilClass

事实证明,我正在使用mobile-fu并且我is_mobile_device?没有存根也没有存根mobile_device。一路走来,mobile-fu试图将设备名称小写,即nil. 通过为 s 添加一个存根mobile_device,事情就解决了。在规范的前块中,我添加了:

controller.stub(:is_mobile_device? => true, :mobile_device => 'iphone')

如果您不使用 mobile-fu,您可能会遇到不同的问题。我能够使用 和 跟踪实际pry问题pry-debugger。绝对值得研究的工具。

于 2014-01-21T07:59:35.923 回答
0

如果您可以更具体地说明您正在尝试做什么,那就太好了。

该错误是不言自明的。你得到downcase for nil:NilClass是因为你试图调用downcase一个 nil 对象......提供更多信息,我们将能够提供更好的帮助。

于 2013-03-25T21:55:55.643 回答