使用Python代码从内部调用pytest

2024-04-20 01:49:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在编写一个Python脚本,用于从不同条件下运行的测试中收集数据。目前,我有兴趣为Py.测试. 在

在Py.测试文档清楚地指出,支持在Python代码中运行pytest:

You can invoke pytest from Python code directly... acts as if you would call “pytest” from the command line...

但是,documentation没有按照规定详细描述调用pytest.main()的返回值。文档似乎只说明了如何读取调用测试的退出代码。在

通过此接口可获得的数据分辨率有哪些限制?这个方法是否只返回一个表示测试结果的字符串?是否支持更友好的数据结构(例如,分配给键、值对的每个测试用例的结果)?在

Update:检查REPL中的返回数据结构可以发现,调用pytest.main是表示系统退出代码的整数返回类型,并将副作用(详述测试结果的文本流)导向标准输出。考虑到这种情况,确实如此Py.测试提供一个替代接口,用于通过一些本机数据结构(例如字典)访问python代码中运行的测试结果?我希望避免捕获和分析标准输出因为这种方法似乎容易出错。在


Tags: 数据方法代码from文档py脚本you
1条回答
网友
1楼 · 发布于 2024-04-20 01:49:14

我不这么认为,官方文件告诉我们pytest.main 返回操作系统错误代码,如示例中所述。 here

如果愿意,可以使用pytest标志,甚至可以使用traceback( tb)选项来查看这些标记是否对您有帮助。在

关于分析标准输出因为这种方法似乎容易出错。 这取决于你在做什么。例如,Python有很多包可以这样做,比如subprocess。在

相关问题 更多 >