py.test 2.0.2:错误修复、改进的xfail/skip表达式、加速

欢迎使用pytest-2.0.2,它是pytest的维护和错误修复版本,pytest是一个成熟的python测试工具,支持cpython 2.4-3.2、jython和最新的pypy pypy解释器。请参阅下面包含测试示例的大量文档:

http://pytest.org/

如果要安装或升级pytest,只需键入以下内容之一:

pip install -U pytest # or
easy_install -U pytest

感谢所有问题记者和提出问题或抱怨的人,尤其是Jurko的坚持,Laura、Victor和Brianna的帮助和Ronny的建议。

最好的,霍尔格·克里克

2.0.1和2.0.2之间的变化

  • 解决问题32-通过减少相对开销,加快非常快速测试功能的测试运行

  • 修复问题30-扩展xfail/skipif处理和改进报告。如果您的skip/xfail表达式中有语法错误,那么现在您可以得到很好的错误报告。

    此外,您现在还可以从xfail/skipif表达式访问模块全局,例如现在就可以工作了:

    import pytest
    import mymodule
    @pytest.mark.skipif("mymodule.__version__[0] == "1")
    def test_function():
        pass
    

    如果模块的版本字符串不是以“1”开头,则不会运行测试函数。请注意,指定字符串而不是布尔表达式允许py.test在汇总测试运行时报告有意义的信息,说明哪些条件会导致跳过(或xfail)测试。

  • fix issue28-安装方法和pytest生成测试一起工作。安装方法fixture方法现在也被调用,用于从pytest生成测试挂钩生成的测试函数调用。

  • 修复issue27-collectonly和关键字选择(-k)现在也可以一起工作,如果您执行“py.test-collectonly-q”,现在您将得到一个简单的测试ID列表,可以使用它粘贴到py.test命令行以执行特定的测试。

  • 修复问题25避免报告--pdb和python3.2/encodings输出的问题

  • 修复问题23-tmpdir参数现在可以在python3.2和windowsxp上工作,从python3.2开始可能支持os.symlink。通过要求更新的py-lib版本,py.path.local()实现承认了这一点。

  • 修正了文档中的拼写错误(感谢维克多·加西亚、布丽安娜·劳赫),特别是感谢劳拉·克里顿,她还审阅了部分文档。

  • 修复类详细进度报告的稍微错误输出(谢谢Amaury)

  • 对node.class函数访问更精确(避免)的拒绝警告

  • 在回溯中避免std unittest断言帮助程序代码(谢谢ronny)