带有服务器的Pytest插件,用于捕获HTTP请求。

pytest-catch-server的Python项目详细描述


Pytest Catch服务器

PyPI versionPython versionsBuild statusCode style: Black

Pytest插件,带有服务器固定装置,用于捕获HTTP请求。 它对于集成测试或测试具有 网络副作用,如向第三方服务(DataDog APM、Sentry等)报告。在

安装

您可以通过pip安装“pytest catch server”:

pip install pytest-catch-server

使用

这个插件有三个fixture。主catch_server用于测试:

^{pr2}$

在更真实的例子中,您可能需要修补全局模块(比如一些跟踪器)。在

它将在每个测试之间刷新捕获的requests列表。在

捕捉这些方法:GETPOSTPUTPATCHDELETE

您可能需要设置应用程序fixture,并将catch server作为依赖项。你可以 使用会话范围的fixturebackground_catch_server来实现:

@pytest.fixture(scope="session")defapp(background_catch_server):tracer_dsn=f"http://{background_catch_server.host}:{background_catch_server.port}"returncreate_app(tracer_dsn=tracer_dsn)deftest_tracing(app,catch_server):app.do_something_that_calls_tracer()assertcatch_server.requests==[{"method":"PUT","path":"/trace","data":b"..."}]

catch服务器的端口是一个随机空闲端口。如果要使用特定端口,则 可以重写测试中返回免费的catch_server_portfixture 端口号。在

如果您遇到任何问题,请 file an issue沿 有详细的描述。在

贡献

捐款是非常欢迎的。可以使用运行测试 tox,请确保在 至少在你提交请求前保持不变。在

已为此项目设置Pre-commit挂钩。拜托 {a9安装完毕} 本次回购。在

许可证

根据MIT条款分配 许可证,“pytest catch server”是免费的开源软件。在

脚注

这个pytest插件是用Cookiecutter生成的 和@hackebrot'scookiecutter-pytest-plugin模板。在

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

推荐PyPI第三方库


热门话题
在java中,如何使用lambda表达式按月计算排名?   java如何更改createTempFile中的默认名称?   java无法找到或加载主类net。Fabrimc。德夫朗。主织物   java如何将应用程序绑定到端口161?   使用Spring Boot运行基于Flyway Java的回调   java如何将源代码库添加到IntelliJ(例如来自Github)?   用于MacOSX上应用程序打包的DMG后台java自定义下拉图标   Java泛型和返回类型   java Docker volume mapping+windows=难以置信的慢?   java gwt gxt文本字段。强制无效   试图使用Map<Class,Function<T,R>>替换Java8中的instanceOf,无法放入映射   java Spring SpEL错误   java如何格式化输出值?   java异步HTTP请求,排队请求   带有Kafka、ClassCastException的java Avro模式?   io我们是否需要在java中为Windows和linux提供单独的文件路径   哈姆克雷斯特爪哇。util。IllegalFormatFlagsException:标志=“”   java组合框所选项目   java如何停止程序以等待用户操作?