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

时间:2018-02-02 22:32:49

标签: python pytest pytest-html

我想在我的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

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

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

1 个答案:

答案 0 :(得分:0)

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

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

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

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