Im пытается написать простой тест, чтобы какой-то драгоценный камень: 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
Что делает 'c.login [" status "]' показывать в консоли? –
'' 'NoMethodError: undefined method' [] 'для nil: NilClass''' – tomekfranek
Какой тип объекта 'c' (' c.class' или 'pc') и как определяется его метод' # login''? ? – Koraktor