有没有办法从常规关键字修改pytest配置对象



我想在我的pytest框架中打印,记录和制作报告。

我正在pytest_configure创建一个配置对象,如下所示

conftest.py

def pytest_configure(config):
    config.logs = []

然后我正在创建一个夹具来修改这个对象

@pytest.fixture(scope="function", autouse=True)
def print_info(request):
    return request.config.logs

在测试文件中,我正在调用此夹具来修改对象

test_logs.py

def test_dummy(print_info):
    print_info.append("I am in test_dummy")

我想修改配置对象而不在测试用例中传递该对象。例如,我想执行以下操作

from conftest import print_log
def test_dummy():
    print_log("I am in test_dummy")

在 conftest.py 我们可以定义该功能来修改配置对象

conftest.py

def print_log(message):
    #function to modify config object

日志记录模块在这里没有帮助吗?

您可以配置日志记录以准确包含所需的信息,例如记录消息的模块和测试功能。

日志记录具有强大的功能,例如按日志级别、消息内容过滤、将不同的记录写入具有各种文本格式的单独日志文件等。

我鼓励你看看:https://docs.pytest.org/en/latest/logging.html

相关内容

  • 没有找到相关文章

最新更新