gpt4 book ai didi

python - 从 python 代码内部调用 pytest

转载 作者:太空狗 更新时间:2023-10-30 01:32:30 26 4
gpt4 key购买 nike

我正在编写一个 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()的返回值。该文档似乎仅指示如何读取调用测试的退出代码。

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

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

最佳答案

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

如果需要,您可以使用 pytest 标志,甚至是回溯 (--tb) 选项来查看其中一些标记是否对您有帮助。

关于解析 std.out 结果的另一点,因为该方法似乎容易出错。这真的取决于你在做什么。 Python 有很多包可以做到这一点,例如 subprocess

关于python - 从 python 代码内部调用 pytest,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41252380/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com