Я начинаю небольшой проект в Python, и я хочу создать unittest с py.test. Мне нужно запланировать модуль pymongo
или класс MongoClient
. Так что я пытался что-то вроде этого:Как установить атрибут класса или модуля в patchmonkey в py.test
@pytest.fixture(scope='module')
def mock_pymongo(monkeypatch):
monkeypatch.setattr('pymongo', mongomock)
или Somthing так:
@pytest.fixture(scope='class')
def mock_pymongo(monkeypatch):
monkeypatch.setattr('pymongo.mongo_client.MongoClient', mongomock.mongo_client.MongoClient)
теперь в обоих тест я делаю я получаю ошибку сфера несовпадения
scopeMismatch: You tried to access the 'function' scoped fixture 'monkeypatch' with a 'module' scoped request object, involved factories
tests/test_1.py:17: def mock_pymongo(monkeypatch)
Может быть, я m, используя нужный инструмент , но есть ли способ использовать monkeypatch, чтобы издеваться над классом и модулем в моем модульном тесте?