Принадлежности запросов_mock с библиотекой unittest? - PullRequest
0 голосов
/ 01 февраля 2020

Мне нужно смоделировать библиотеку 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, потому что она используется в рамках, которые я использую. Поэтому мне нужно включить эти юнит-тесты, чтобы соответствовать этой структуре.

...