我正在使用记录模块打印到stdout。当我使用pytest-xdist进行测试时,很难理解哪些消息与工人相对应
是否可以将XDIST网关编号打印到Stdout中的每一行?
中我现在拥有的日志消息的示例:
[02-22-2018_19.44.11] [DEBUG] [file.py:96] - Message
[02-22-2018_19.44.11] [DEBUG] [file2.py:16] - Message
[02-22-2018_19.44.12] [DEBUG] [file3.py:23] - Message
[02-22-2018_19.44.12] [DEBUG] [file4.py:30] - Message
所需的:
[02-22-2018_19.44.11] [gw1] [DEBUG] [file.py:96] - Message
[02-22-2018_19.44.11] [gw0] [DEBUG] [file2.py:16] - Message
[02-22-2018_19.44.12] [gw0] [DEBUG] [file3.py:23] - Message
[02-22-2018_19.44.12] [gw3] [DEBUG] [file4.py:30] - Message
或
gw1 [02-22-2018_19.44.11] [DEBUG] [file.py:96] - Message
gw0 [02-22-2018_19.44.11] [DEBUG] [file2.py:16] - Message
gw0 [02-22-2018_19.44.12] [DEBUG] [file3.py:23] - Message
gw3 [02-22-2018_19.44.12] [DEBUG] [file4.py:30] - Message
您可以通过config.slaveinput
属性访问网关ID。示例:
def test_spam(pytestconfig):
assert hasattr(pytestconfig, 'slaveinput')
assert pytestconfig.slaveinput['slaveid'] == 'gw0'
仅当实际调用xdist
时,测试才会通过,例如通过pytest -n1 test_spam.py
,否则slaveinput
属性不会设置。