使用py.test为每个脚本生成日志

时间:2016-01-20 18:12:30

标签: python pytest

是否有一种简单的方法可以为每个测试过的脚本生成一个日志文件,pytest已经在一个文件中完成了这个,有没有办法在每个测试脚本的目录中将它们分开,例如:如果我有 dir1包含script1 dir2包含script2 我不希望所有日志都在一个文件中,我想在dir1和dir2中分别使用两个日志。

2 个答案:

答案 0 :(得分:0)

在每个脚本中,您可能希望使用文件输入/输出。如果该文件不存在,该函数将创建一个用于写入。在您要测试的每个脚本中,输入如下内容:

with open("log file name 1", "a") as log:
    log.write("whatever you want to log in here")

在每个脚本中放置这样的内容可能比尝试使用第三方库或尝试在短期内找到其他方法来节省更多时间。

答案 1 :(得分:0)

如果您想存储通常在文件系统的控制台中看到的文字, 尝试使用pytest_collectreportpytest_report_teststatus个钩子。您可以获取nodeid(测试模块/功能的名称)并从中输出文本。

如果您想存储记录器(日志记录模块)中的日志,可以使用pytest-logger分别为每个测试用例创建一个日志文件[s]来存储记录器输出。目录结构是自动生成的,用户只需要传递记录器名称和级别。