簡體   English   中英

如何從此響應中獲取狀態?

[英]How to get status from this response?

我正在嘗試為一些寶石編寫簡單的測試: https : //github.com/regedarek/soup-client

我在控制台中運行時收到以下響應:

    ruby-1.9.2-p290 :022 > c.login
    I, [2012-02-15T23:12:09.681772 #12908] INFO -- : post https://www.soup.io/login
    D, [2012-02-15T23:12:09.681854 #12908] DEBUG -- request: Content-Type: "application/x-www-form-urlencoded"
    I, [2012-02-15T23:12:10.157908 #12908] INFO -- Status: 302
    D, [2012-02-15T23:12:10.158054 #12908] DEBUG -- response: server: "nginx/0.7.67"
    date: "Wed, 15 Feb 2012 22:12:11 GMT"
    content-type: "text/html; charset=utf-8"
    connection: "close"
    ...
    content-length: "94"
    status: "302"
    ...
    location: "http://soup-client.soup.io/?sessid=995f610405f8afe029b9038da6c22132"
    content-length: "0"
    status: "302"
    ...
    set-cookie: "soup_session_id=995f610405f8afe029b9038da6c22132; path=/; expires=Sun, 15 Feb 2032 22:12:13 GMT; HttpOnly"
    status: "200"
    content-length: "16024"

我想測試一下,但是如何從此響應中獲取狀態?

我已經嘗試過c.login["status"].should == 200但無法正常工作:

ruby-1.9.2-p290 :025 >   c.login["status"]

...

status: "200"
vary: "Accept-Encoding"
content-length: "15700"
NoMethodError: undefined method `[]' for nil:NilClass
    from (irb):25
    from /home/rege/.rvm/rubies/ruby-1.9.2-p290/bin/irb:16:in `<main>'

這是c.login.inspect > https://gist.github.com/1842529的輸出

當您標記了rspec時,我將為您提供rspec答案:

get '/login'
last_response.status.should == 200

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM