Ich beginne ein kleines Projekt in Python und ich möchte einen Unittest mit py.test erstellen. Ich muss ein pymongo
Modul oder eine MongoClient
Klasse patchen. Also habe ich versucht, so etwas wie dieses:Wie man ein Klassen- oder Modulattribut in einem Patchmonkey in py.test setzt
@pytest.fixture(scope='module')
def mock_pymongo(monkeypatch):
monkeypatch.setattr('pymongo', mongomock)
oder somthing wie folgt aus:
@pytest.fixture(scope='class')
def mock_pymongo(monkeypatch):
monkeypatch.setattr('pymongo.mongo_client.MongoClient', mongomock.mongo_client.MongoClient)
jetzt in beiden Test ich tue ich
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)
Vielleicht einen Bereich Konfliktfehler erhalte ich‘ m mit dem richtigen Werkzeug aber gibt es eine Möglichkeit monkeypatch zu verwenden, um Klasse und Modul in meinem Komponententest zu verspotten?