如何对aiohttp.web应用程序进行单元测试

And*_*dez 5 python python-asyncio aiohttp python-3.5

给定一个aiohttp.web应用程序,其视图如下:

async def hello(request):
    return web.Response(body=b"Hello, world")
Run Code Online (Sandbox Code Playgroud)

我正在尝试了解如何正确地对它们进行单元测试。

在编写Django应用程序时,我通常使用Django自己的测试客户端,并且正在为aiohttp.web寻找类似的东西。我不确定这是否是正确的方法。

TL; DR:如何在单元测试中模拟对aiohttp.web应用程序的请求?

And*_*lov 3

您可以创建 Web 服务器并执行真实的 HTTP 请求,而无需模拟

例如,请参阅https://github.com/KeepSafe/aiohttp/blob/master/tests/test_client_function.py 。