2017-02-02 5 views
0

RspecとSinatraを初めて使用していて、以下のテスト方法について質問したいと思っていました。私は、Rspecを正しく動作させるためにSinatraを正しく構成したと思います。私はJSONを消費しており、プロジェクトは100%稼動しています。しかし、テストは機能していません。試験例:.inspectから戻ったRspecでSinatraを使用してテストするJSON

it "Has response HTTP 200" do 
     get "/" 
     puts last_response.inspect 
     expect(last_response).to have_http_status(:success) 
    end 

、これは結果: "シナトラはこの小唄を知っdoesntの" ための

<Rack::MockResponse:0x007fbc948c2f50 @original_headers={"Content-Type"=>"text/html;charset=utf-8", "X-Cascade"=>"pass", "Content-Length"=>"459", "X-XSS-Protection"=>"1; mode=block", "X-Content-Type-Options"=>"nosniff", "X-Frame-Options"=>"SAMEORIGIN"}, @errors="", @body_string=nil, @status=404, @header={"Content-Type"=>"text/html;charset=utf-8", "X-Cascade"=>"pass", "Content-Length"=>"459", "X-XSS-Protection"=>"1; mode=block", "X-Content-Type-Options"=>"nosniff", "X-Frame-Options"=>"SAMEORIGIN"}, @chunked=false, @writer=#<Proc:[email protected]/Users/eltonsantos/.rvm/gems/[email protected]/gems/rack-1.6.5/lib/rack/response.rb:30 (lambda)>, @block=nil, @length=459, @body=["<!DOCTYPE html>\n<html>\n<head>\n <style type=\"text/css\">\n body { text-align:center;font-family:helvetica,arial;font-size:22px;\n color:#888;margin:20px}\n #c {margin:0 auto;width:500px;text-align:left}\n </style>\n</head>\n<body>\n <h2>Sinatra doesn&rsquo;t know this ditty.</h2>\n <img src='http://example.org/__sinatra__/404.png'>\n <div id=\"c\">\n Try this:\n <pre>get &#x27;&#x2F;&#x27; do\n &quot;Hello World&quot;\nend\n</pre>\n </div>\n</body>\n</html>\n"]> 

Atention。 Rspecとjsonで使用する設定Sinatraは正しいですか?深刻な、私がしようとしていますが、私はもう何をするか分からない:( はRSpecのと誰テストでは、これは私のリポジトリ、クローン、フォーク、コミット、何でもあり :(動作しませんが、私を助けてください。

https://github.com/eltonsantos/locaweb-twitter

私はルビーはそれが仕事app.rbが、RSpecのdoesntの作業を実行します。

ありがとうございました!

+0

失敗は何を言いますか? –

+0

失敗/エラー:期待(last_response).TO have_http_status(:成功) 期待#?<ラック:: MockResponse:0x007f9af295f6e8> has_http_status 'に対応するため、' #(ブロック './spec/locaweb_twitter_spec.rb:20:in 3レベル)<トップ(必須)> ' –

+0

しかし、私はそれを試して、ほとんどと何も:( –

答えて

0

This blog postタリンで役立つかもしれない。彼女はこれらに沿うようにRSpecのとシナトラコントローラのテストシーケンスを記述する行:

describe "GET '/'" do 
it "loads homepage" do 
    get '/' 
    expect(last_response).to be_ok 
end 

投稿にはモック戻り値の説明を含む多くの詳細があります。

関連する問題