我正在编写一个Python脚本,用于从不同条件下运行的测试中收集数据。目前,我有兴趣添加对Py.Test的支持。
Py.Test文档明确指出支持在Python代码中运行pytest:
您可以直接从Python代码调用pytest ...就像从命令行调用“ pytest”一样...
但是,文档没有详细描述pytest.main()所规定的呼叫返回值。该文档似乎仅指示如何读取调用测试的退出代码。
通过此接口可以使用的数据分辨率有哪些限制?此方法是否仅返回指示测试结果的字符串?是否支持支持更友好的数据结构(例如,将每个测试用例的结果分配给键,值对)?
更新:检查REPL中的返回数据结构可以发现,调用pytest.mainyeld可以指示系统退出代码的整数返回类型,并将副作用(文本详细测试结果流)定向到标准输出。考虑到这种情况, Py.Test是否提供了备用接口,用于通过某些本机数据结构(例如字典)访问从python代码内部运行的测试结果?我想避免捕获和解析std.out结果,因为这种方法似乎容易出错。