PyTest -Kette verspottet zwischen Sync- und Async -FunktionenPython

Python-Programme
Guest
 PyTest -Kette verspottet zwischen Sync- und Async -Funktionen

Post by Guest »

Ich möchte verspotten: < /p>

Code: Select all

async with aiohttp.ClientSession() as session:
async with session.post("xyz.com") as resp:
x = await resp.json()
< /code>
Derzeit mache ich: < /p>
# patched aiohttp as mock_aiohttp
mock_session = Mock()
mock_session_post_cm = AsyncMock()
mock_aiohttp.ClientSession.return_value.__aenter__.return_value = mock_session
mock_session.post.return_value = mock_session_post_cm
mock_session_post_cm.__aenter__.return_value.json.return_value = "ABC"
Es ist jedoch sehr ausführlich und die Absicht wird unklar, da ich nur den Wert von x verspotten und keine Verwendung für die Zwischenmöhe haben möchte. < Br /> Die Herausforderung stammt aus der Mischung aus Synchronisierungs- und asynchronen Funktionsaufrufen (Mock_Session ist synchron, alles andere ist asynchron). Wenn alles entweder eine Eigenschaft oder eine Synchronisierungsfunktion war, z. x = a (). b (). Wenn jede Funktion asynchronisiert war, aber jedes Mal, wenn sie sich mischt, muss ich eine Zwischenvariable erstellen. Gibt es einen Weg um das?

Code: Select all

mock_aiohttp.ClientSession.return_value_async.__aenter__.return_value_async
.post.return_value_sync.__aenter__.return_value_async
.json.return_value_async = "ABC"

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post