Pytest解决报告日志等相对路径问题

我们在使用pytest搭建测试框架时,有时候为了方便会将生成报告/日志等参数直接作为默认参数配置在pytest.ini中,如

pytest.ini

[pytest]
addopts = -v --html=reports/report.html --alluredir=reports/allure_resultslog_file = logs/test.log

需要 pip install pytest pytest-html allure-pytest

如果在项目根目录命令行下执行 pytest . 测试的话,报告和日志可以生成到项目下的reports及logs目录中。
但是在PyCharm中如果直接运行用例,则报告会生成在用例所在目录的reports及logs目录中,如下图。

image

有没有办法在调试时,报告和日志也自动生成在项目下而非运行路径下呢?

我们可以在conftest.py中使用Hooks函数pytest_configure来修改config.option中对应的参数来强制将文件路径改到项目路径(rootdir)下。

conftest.py

def pytest_configure(config):rootdir = config.rootdir  # 项目根目录# 日志文件路径log_file = config.getoption('--log-file') or config.getini('log_file')if log_file:config.option.log_file = rootdir / log_file# pytest-ini报告路径htmlpath = config.getoption('--html')if htmlpath:config.option.htmlpath = rootdir / htmlpath# allure-pytest报告数据路径allure_report_dir = config.getoption('--alluredir')if allure_report_dir:config.option.allure_report_dir = rootdir / allure_report_dir

再次运行用例,报告/日志等就会固定生成在项目路径下,如图:

image

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/792135.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

体验通义灵码 @workspace:轻松分析项目结构,结合代码仓库理解工程、查询问答等

近期,通义灵码上线新能力:@workspace,基于本地代码库的 RAG 技术,让灵码深度感知你的代码库,更懂你的需求,一起结对编程。国际市场研究机构 Gartner 发布业界首个 AI 代码助手魔力象限,阿里云进入挑战者象限。通义灵码在产品功能和市场应用等方面表现位列国际前列,在国…

程序运行异常: Undefined constant"PAGE

遇到 Undefined constant "PAGE" 的错误提示,通常是因为在代码中使用了一个未定义的常量。这可能是由于以下几个原因导致的:拼写错误:常量名称拼写错误。 命名空间问题:常量所在的命名空间没有正确引入。 配置文件或环境变量未正确加载。解决方法检查常量拼写:确…

Linux keepalive

安装1,安装 https://www.cnblogs.com/lfxx/p/17876757.htmlhttps://www.cnblogs.com/wangchengshi/p/10912177.html 2,linux keepalived 日志,如何重定向Keepalived日志的输出路径https://blog.csdn.net/weixin_39935571/article/details/116731816https://www.cnblogs.com/mj…

pbootcms模板如何输出当前页面的完整url地址

在 PbootCMS 中,如果你需要在模板的内容页中调用当前页面的完整 URL,可以结合使用 {pboot:httpurl} 和 {content:link} 来实现。这样可以确保生成的 URL 是完整的,并且包含了当前页面的路径。 示例代码 假设你需要在模板的内容页中调用当前页面的完整 URL,可以使用以下代码…

PbootCMS调用标题和摘要字数限制的方法

在 PbootCMS 中,可以使用不同的参数来控制内容的截取和显示。特别是针对中文和英文字符的不同长度问题,提供了 len=* 和 lencn=* 参数来分别处理普通长度截取和中文字符长度截取。 常用参数说明len=*:用于普通长度截取,每个字符按一个单位计算。 例如:[list:title len=10]…

svg - 需要重置样式颜色时,需要开启设置 fill: currentColor

需要在class 样式 添加fill: currentColor; 例子如下 本文来自博客园,作者:岑惜,转载请注明原文链接:https://www.cnblogs.com/c2g5201314/p/18396449响应开源精神相互学习,内容良币驱除劣币

Vue从首页跳转到其他页面,分页异常,点击搜索分页正常

项目有个功能是首页点击模块跳转到对应的页面,但是分页异常,只显示第一页的数据,但是点击搜索按钮,分页正常 1.查看返回数据,没有异常,后端没有问题 2.查看方法页面加载顺序错误,到分页未能成功显示 改成下图所示,分页正常

pbootcms模板调用幻灯片轮播图标签

在PbootCMS中,你可以使用 {pboot:slide} 标签来调用幻灯片轮播图。以下是如何在模板中使用该标签的具体方法: 幻灯片轮播图标签示例 1. 基本用法 假设你需要在一个页面上显示某个分组的幻灯片轮播图,可以按照以下方式编写模板代码:html<!-- 示例:幻灯片轮播图 --> &…

Qt项目转换为VS2022项目

我们使用VS的“打开本地文件夹”打开我们使用QtCreator创建的项目打开以后资源管理器内容如下图所示如果希望将Qt项目转为VS项目,需要安装下面的扩展,点击扩展-->管理扩展,然后输入qt进行搜索,安装:Qt Visual Studio Tools在提示下载完成以后,需要关闭VS进行扩展安装,…

Qt项目转换为VS项目

我们使用VS的“打开本地文件夹”打开我们使用QtCreator创建的项目打开以后资源管理器内容如下图所示如果希望将Qt项目转为VS项目,需要安装下面的扩展,点击扩展-->管理扩展,然后输入qt进行搜索,安装:Qt Visual Studio Tools在提示下载完成以后,需要关闭VS进行扩展安装,…

C# .Net使用的代码混淆工具 ConfuserEx

原文链接:https://www.cnblogs.com/lg-lg/articles/17803347.html 开源.net 混淆器ConfuserEx介绍 下载地址:https://github.com/yck1509/ConfuserEx/releases 第一步:第二步:第三步:当日志显示绿色 Finish 即是执行成功了

轻松上手 | 基于RockyLinux 9.4安装部署Zabbix 7.0

作者 乐维社区(forum.lwops.cn) 许远 2024年6月30 日,CentOS 停止更新和维护,不少企业用户开始寻求新的替代方案。RockyLinux,一个开源、社区拥有和管理、免费的企业Linux发行版,提供强大的生产级平台,可作为CentOS停止维护(改为滚动更新的Stream版)后,RHEL的下游Lin…