pytest-2.3.5:错误修复和小改进

pytest-2.3.5 是一个维护版本,包含许多错误修复和一些小改进。有关详细信息,请参阅下面的更改日志。预计不会出现向后兼容性问题,并且所有与先前版本兼容的插件都应该无需修改即可工作。说到这里,上个月出现了一些有趣的新插件

  • pytest-instafail:在测试运行时显示失败信息

  • pytest-qt:测试用 QT/Pyside 编写的 GUI 应用程序

  • pytest-xprocess:在测试运行中管理外部进程

  • pytest-random:随机化测试顺序

其他几个插件,如 pytest-django,也发布了维护版本。有关更完整的列表,请查看 https://pypi.ac.cn/search/?q=pytest

一般信息请参阅

安装或升级 pytest

pip install -U pytest # 或 easy_install -U pytest

特别感谢 Floris、Ronny、Benjamin 以及许多错误报告者和修复提供者。

愿夹具与你同在,holger krekel

2.3.4 和 2.3.5 之间的更改

  • 永远不要将夹具函数用于测试函数收集

  • 允许重新运行测试项 / 有助于修复 pytest-reruntests 插件,也有助于减少夹具/资源引用

  • 将捕获的 stdout/stderr 放入 junitxml 输出,即使对于通过的测试也是如此(感谢 Adam Goucher)

  • 问题 265 - 将 nose setup/teardown 与 setupstate 集成,这样如果它没有设置就不会尝试 teardown

  • 问题 271 - 不在工作节点上写入 junitxml

  • 问题 274 - 当 doctest 不知道示例位置时,不要尝试显示完整的 doctest 示例

  • 问题 280 - 在有缺陷的 CPython 2.6.0 上禁用断言重写

  • 注入“getfixture()”助手以从 doctest 中检索夹具,感谢 Andreas Zeidler

  • 问题 259 - 在断言重写时,与 Python 2 上 ASCII 的默认源编码保持一致

  • 问题 251 - 报告跳过而不是忽略带有 init 的类

  • 问题 250 unicode/str 在参数化名称和值中混合现在可以工作

  • 问题 257,以注释行结尾的源文件的断言触发编译不会在 python2.5 中崩溃(通过 py>=1.4.13.dev6 修复)

  • 修复 –genscript 选项以生成也适用于 python3.3 的独立脚本(导入器顺序)

  • 问题 171 - 在断言重写中,显示一些全局变量的 repr

  • 修复“-k”的选项帮助

  • 将分发的长描述移至 README.rst

  • 改进 metafunc.parametrize() 的文档字符串

  • 修复了在使用 capsys 和 pytest.set_trace() 的测试函数中,查看 capsys.readouterr() 时会崩溃的错误

  • 在自定义 python_functions 测试发现时,允许指定以“_”开头的名称作为前缀。(感谢 Graham Horler)

  • 通过将额外数据放在新行并增加缩进,改进 PYTEST_DEBUG 跟踪输出

  • 确保像 skip/fail 这样的 OutcomeExceptions 已初始化异常属性

  • 问题 260 - 不在普通的 unittest 用例中使用 nose 特殊设置

  • 修复问题 134 - 打印阻止运行指定测试项的收集错误

  • 修复问题 266 - 接受 MarkEvaluator 表达式中的 unicode