В Python я создал метод, который читает содержимое веб-страницы и делает некоторые вещи с содержимым.Assign Mock Variable Value in Unit Test
Я хочу, чтобы модуль тестировал метод с использованием определенного http-адреса, но я не хочу назначать адрес вручную в своем производственном коде, а затем проверять его. Поэтому в идеале я хочу создать какой-то макет объекта (используя библиотеку Mock), который принимает значение http-адреса, которое мне нужно, чтобы я мог выполнить свой тест с этим значением.
В качестве примечания, целью теста является проверка того, что мой код вызывает правильное исключение с проверенным адресом http.
Таким образом, чтобы показать, код я хочу проверить, имеет следующий вид:
Class A
method1()
var1 = "wwww.something.com"
read contents at address var1
do stuff with contents (raise error if bad contents)
И я хочу, чтобы проверить код с var1 = «wwww.somethingelse.com» в моем тестовом модуле (в идеале, используя библиотека Mock).
Цените любую помощь.
спасибо. На самом деле мой метод принимает несколько параметров, которые используются для построения ссылки. Итак, если бы я хотел смоделировать HTTP-ошибку, как бы я это сделал? – jule64
Вы должны использовать декоратор ['mock.patch'] (http://www.voidspace.org.uk/python/mock/patch.html#mock.patch) для исправления' yourmodule.urllib2.urlopen', скажем , с макетом, чья 'side_effect = urllib2.HTTPError (что угодно, args, you, want, for, it)'. – Julian
получил это, большое спасибо – jule64