通过代码调用pytest并将结果保存到变量或文件
Call pytest through code and save results to variable or file
我正在通过我的代码使用 pytest.main()
调用 pytest
是否可以保存结果?分配给变量还是作为文件?我知道你可以通过 cmd as pytest > log.txt
来完成,在代码中调用它时有类似的东西吗?
重定向 sys.stdout
到变量 output
:
import pytest
import sys
import io
if __name__ == '__main__':
stdout_bak = sys.stdout # backup stdout
sys.stdout = io.StringIO()
pytest.main()
output = sys.stdout.getvalue()
sys.stdout.close()
sys.stdout = stdout_bak # restore stdout
print(output)
我正在通过我的代码使用 pytest.main()
是否可以保存结果?分配给变量还是作为文件?我知道你可以通过 cmd as pytest > log.txt
来完成,在代码中调用它时有类似的东西吗?
重定向 sys.stdout
到变量 output
:
import pytest
import sys
import io
if __name__ == '__main__':
stdout_bak = sys.stdout # backup stdout
sys.stdout = io.StringIO()
pytest.main()
output = sys.stdout.getvalue()
sys.stdout.close()
sys.stdout = stdout_bak # restore stdout
print(output)