Как можно использовать mock для urllib2, чтобы не вызывать внешний вызов, и я могу вызвать исключение для read ()? - PullRequest
0 голосов
/ 05 января 2012

Я бы хотел повысить BadStatusLine, когда вызывается read.Как я могу сделать это с mock ?

1 Ответ

1 голос
/ 05 января 2012

Я бы назначил mock объект для urllib2.open следующим образом:

from mock import Mock

import urllib2
import httplib

mock = Mock()
mock.return_value.read.side_effect = httplib.BadStatusLine('Mocked error')

urllib2.open = mock

response = urllib2.open()
response.read()

Примечание:

  • return_value используется для доступа к фиктивному объекту, возвращенному open()
  • side_effect используется для вызова желаемого исключения при попытке выполнить read()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...