我想在测试中以字符串形式访问当前测试的名称以写入一些VCD日志文件。
运行pytest --collect-only
时给出的名称是否可以用作灯具或等效项?
示例:
运行pytest --collect-only
会产生收益(做空):
<Class TestFooBar>
<Function test_30_foobar[1-A]>
在测试中,我想访问上述字符串test_30_foobar[1-A]
。
有一种(简单的)方法吗?
答案 0 :(得分:0)
我已经为自己的问题找到了答案。它隐藏在request
夹具中。请参阅以下衍生的固定装置:
@pytest.fixture
def name_test(request):
"""Make name of test available as string and escaped as filename"""
import types
i = types.SimpleNamespace()
i.name = request.node.name
i.filename = i.name.replace('[', '_').replace(']', '')
return i
filename
变量是一个笨拙的转义字符串,应为有效的文件名。但是,到目前为止,仅在POSIX上进行了测试。