测试asgi web应用程序的异步客户端

async-asgi-testclient的Python项目详细描述


异步asgi测试客户端

Build StatusPyPI version

async asgi testclient是一个用于测试实现asgi规范(版本2和3)的web应用程序的库。

这个项目背后的动机是构建一个不依赖于web框架(QuartStartlette,…)的通用测试库,就像人们使用不依赖于框架的uvicornhypercorn等asgi服务器一样。

这个库基于Quart中提供的测试模块。

快速启动

要求:python 3.6+

安装:

pip install async-asgi-testclient

用法

my_api.py

fromquartimportQuart,jsonifyapp=Quart(__name__)@app.route("/")asyncdefroot():return"plain response"@app.route("/json")asyncdefjson():returnjsonify({"hello":"world"})if__name__=='__main__':app.run()

test_app.py

fromasync_asgi_testclientimportTestClientimportpytest@pytest.mark.asyncioasyncdeftest_quart_app():from.my_apiimportappasyncwithTestClient(app)asclient:resp=awaitclient.get("/")assertresp.status_code==200assertresp.text=="plain response"resp=awaitclient.get("/json")assertresp.status_code==200assertresp.json()=={"hello":"world"}

支持

  • [X]饼干
  • [X]遵循重定向
  • [X]响应流
  • [X]请求流
  • [X]WebSocket支持

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java这算是人工智能吗?   java@OnDelete(级联)不处理双向映射(hibernate)   java我怎样才能在基元类型(int)上修复这个等式   java如何初始化PrintWriter数组?   arraylist如何使用java添加敌人   java如何处理2019年的背景地理围栏?   java是否有一个XPath表达式可用于在CDATA区域中导航XML?   Kotlin(Android Studio)中的java选项卡式活动   安卓 java。lang.IllegalArgumentException:provider=网络   广播控制流和主流的java排序   java Apache Nifi无法启动Nifi实例   java我正在尝试将内容作为字符串放入ListView   java阻止mozilla会话还原   java在春季选择引用哪个bean?