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. のスタブを追加することでmobile_device、問題が解決しました。仕様の before ブロックに、次を追加しました。

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

mobile-fu を使用していない場合は、別の問題が発生している可能性があります。pryとで実際の問題を追跡できましたpry-debugger。検討する価値のあるツールです。

于 2014-01-21T07:59:35.923 に答える
0

やりたいことをもう少し具体的に書いていただけると助かります。

エラーはかなり自明です。downcase for nil:NilClassnil オブジェクトを呼び出そうとしているため、取得していdowncaseます...より多くの情報を提供してください。より適切に支援できるようになります。

于 2013-03-25T21:55:55.643 に答える