Я бы назначил 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()