Можно ли заглушить методы поиска nokogiri xml? - PullRequest
1 голос
/ 26 марта 2012

Допустим, у меня есть метод, который выглядит следующим образом:

def raise_if_client_status_error(xml_resp) # xml_resp is Nokogiri::XML object
  unless xml_resp.at('StatusCode').text == 'Success'
    raise ClientError, xml_resp.at('StatusMessage').text
  end
end

Можно ли создать xml_resp_mock и заглушить цепочечный вызов - .at('StatusCode').text - для возврата «Success»? Я не уверен, какой синтаксис использовать, если это вообще возможно.

1 Ответ

2 голосов
/ 26 марта 2012

Не обязательно издеваться над Nokogiri в ваших тестах, потому что у него нет ни одной из причин издеваться над c2 или причинами использования в Википедии . Было бы лучше передать документ с <StatusCode>Success</StatusCode>. Лучше всего было бы посмеяться над методами объекта, которые обычно читают XML-ответ из сети.

...