Pytest-2.6.0:更短的回溯,新的警告系统,测试运行程序兼容¶
pytest是一个成熟的Python测试工具,有1000多个针对自己的测试,可以传递许多不同的解释器和平台。
2.6.0版本应该是向后兼容2.5.2的版本,并修复了一些错误,带来了一些新的特性,主要是:
默认的更短的回溯:只显示第一个(测试函数)条目和最后一个(故障位置)条目,两者之间只有“短”格式。使用
--tb=long
以恢复在任何地方显示“长”条目的旧行为。一种新的警报系统,在收集和执行过程中报告异常情况。例如,忽略使用
__init__
现在产生一个警告。鼻子/模拟/单元测试集成的各种改进
还请注意,2.6.0与“零报告错误”策略背道而驰,因为很难跟上它,不幸的是。相反,我们现在必须在https://bitback.org/pytest-dev/pytest/issues中致力于“投票通过”的问题。status=new&status=open&sort=-投票问题跟踪程序。
参见文档:
和往常一样,您可以通过以下方式从pypi升级:
pip install -U pytest
感谢所有贡献者,其中包括:
本杰明·彼得森·朱尔科·戈斯波德尼·弗洛里斯·布鲁努格、马克·阿布拉莫维茨、马克·施莱奇、特雷弗·贝科莱、布鲁诺·奥利维拉、亚历克斯·格罗恩霍姆
玩得开心,霍尔格·克雷克尔
2.6.0¶
修复问题537:默认情况下避免导入旧的断言重新解释代码。谢谢本杰明·彼得森。
修复问题364:默认情况下缩短和增强回溯表示。新的“-tb=auto”选项(默认)将只显示第一个和最后一个条目的长跟踪。您可以使用“-tb=long”得到打印所有条目的旧行为。默认情况下,短条目的打印方式与“-tb=native”非常相似。
修正问题514:感谢本杰明·彼得森,教授关于私有类属性的断言重新解释。
将-v输出更改为包含测试的完整节点ID。用户可以从测试运行中复制节点ID(包括行号),并将其用作位置参数,以便仅运行单个测试。
修复问题475:如果使用错误的异常类型调用pytest.raises,则提前失败并易于理解。
修复问题516:告诉您有关当前依赖项的入门知识。
稍微清理setup.py并指定支持的版本。感谢Jurko Gospodnetic的公关。
使用-v运行测试时,将xpass颜色更改为黄色,而不是红色。
解决问题473:在双重修补时模拟将未绑定的方法放入类dict。
修复问题498:如果夹具终结器失败,请确保该夹具仍然无效。
修正问题453:Pytest断言比较挂钩的结果现在得到了新行转义,这样格式异常就不会爆炸。
内部新的警告系统:当Pytest检测到您的测试集合或执行中的异常时,它现在将生成警告。警告最终被发送到一个新的pytest_logwarning hook,该钩子当前仅由终端插件实现,该插件在摘要行中显示警告,并在指定-rw(警告报告)时显示更多详细信息。
将跳过更改为带有 __init__ 和测试模块中的可调用文件,它们看起来像一个测试,但不是函数。
修复问题436:通过使用parse_known_参数的结果而不是以前的脆弱的启发式,改进了从命令行参数中查找初始conftest文件的过程。感谢Marc Abramowitz在这一领域的测试和初步固定方法。
修复问题479:在收集/加载测试模块期间正确处理nose/unittest(2)skiptest异常。感谢马克·施莱奇的全面公关。
修复问题490:在文档中包含pytest加载初始conftests并改进docstring。
解决问题472:澄清
pytest.config.getvalue()
如果在命令行分析之前触发,则无法工作。合并pr123:在测试中改进了与mock.patch decorator的集成。
修复问题412:现在捕获与stdout/stderr fd级别流发生冲突而没有崩溃。
解决问题483:trial/py33现在工作正常。感谢丹尼尔·格拉纳的公关。
改进Pytest与“python setup.py test”的集成示例,该测试现在有一个通用的“-a”或“-py test args”选项,您可以在其中以带引号的字符串形式传递其他选项。谢谢特雷弗·贝科莱。
简化了内部捕获机制,使其对更改fd1/fd2的测试或设置更为强大,现在在单个测试中也更好地与pytest.pdb()集成。
由Marc Abramowitz提供的PRS改进了Pytest自己的测试套件泄漏检测
修复问题492:避免测试写入组织中的泄漏。谢谢马克·阿布拉莫维茨。
修复问题493:不要在文档目录中运行测试
python setup.py test
(用毒物检测法)修复问题486:更好地报告和处理早期conftest加载失败
一些内部conftest处理的清理和简化。
在捕获异常时,要更努力地打破引用循环。感谢Jurko Gospodnetic。
修复问题443:修复跳过示例以使用适当的比较。感谢亚历克斯·格罗恩霍姆。
支撑鼻型
__test__
模块、类和函数的属性,包括UnitTest样式类。如果设置为假,则不会收集测试。修复问题512:show“<not set>”for arguments which may not be set in monkeypatch plugin.改进了文档中的输出。
避免导入“py.test”(“py test”的旧别名模块)