加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

从python代码中调用pytest

发布时间:2020-12-20 13:15:32 所属栏目:Python 来源:网络整理
导读:我正在编写一个 Python脚本,用于在不同条件下从运行测试中收集数据.目前,我有兴趣添加对Py.Test的支持. Py.Test文档明确指出支持在Python代码中运行pytest: You can invoke pytest from Python code directly… acts as if you would call “pytest” from
我正在编写一个 Python脚本,用于在不同条件下从运行测试中收集数据.目前,我有兴趣添加对Py.Test的支持.

Py.Test文档明确指出支持在Python代码中运行pytest:

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

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

通过此界面可以获得的数据解析限制是什么?此方法是否只返回一个表示测试结果的字符串?是否支持更友好的数据结构(例如,分配给键,值对的每个测试用例的结果)?

更新:检查REPL中的返回数据结构显示调用pytest.main会生成一个整数返回类型,指示系统退出代码并将副作用(详细说明测试结果的文本流)指向标准输出.考虑到这种情况,Py.Test是否提供了一个备用接口,用于访问从python代码中通过某些本机数据结构(例如字典)运行的测试结果?我想避免捕获和解析std.out结果,因为这种方法似乎容易出错.

解决方法

我不这么认为,官方文档告诉我们pytest.main
返回一个os错误代码,如示例中所述.
here

如果需要,您可以使用pytest标志,甚至可以使用traceback(–tb)选项来查看这些标记中的某些标记是否对您有所帮助.

关于解析std.out结果的另一点,因为这种方法似乎容易出错.这真的取决于你在做什么. Python有很多软件包可以像子进程那样做.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读