Мне нужно смоделировать библиотеку requests
, поэтому решил использовать библиотеку requests_mock
для этого. Хотя мне интересно, как я могу создать прибор для своего тестового класса при использовании библиотеки unittest
?
Я могу сделать это с помощью testtools
, например:
import testtools
from requests_mock.contrib import fixture
class MyTestCase(testtools.TestCase):
TEST_URL = 'http://some-not-existing-url.com'
def setUp(self):
super().setUp()
self.requests_mock = self.useFixture(fixture.Fixture())
self.requests_mock.post(self.TEST_URL, status_code='200')
def test_01_method(self):
resp = requests.post(self.TEST_URL)
self.assertEqual('200', resp.status_code)
Сейчас unittest
не имеет useFixture
метод. Есть ли какой-нибудь эквивалент в unittest
lib? Или мне нужно использовать какой-то другой подход?
Пробовать аналогичные вещи (без useFixture
, вылетает тесты):
import unittest
from requests_mock.contrib import fixture
class MyTestCase(unittest.TestCase):
TEST_URL = 'http://some-not-existing-url.com'
def setUp(self):
super().setUp()
self.requests_mock = fixture.Fixture()
self.requests_mock.post(self.TEST_URL, status_code='200')
def test_01_method(self):
resp = requests.post(self.TEST_URL)
self.assertEqual('200', resp.status_code)
Работать с unittest
, я получаю [Errno -2] Name or service not known
, который ясно показывает, что насмешка не применяется правильно.
PS Мне нужна unittest
lib, потому что она используется в рамках, которые я использую. Поэтому мне нужно включить эти юнит-тесты, чтобы соответствовать этой структуре.