zoukankan      html  css  js  c++  java
  • Pytest权威教程15-运行Nose用例

    返回: Pytest权威教程

    运行Nose用例

    Pytest基本支持运行Nose框架格式的测试用例。

    使用方法

    后安装pytest类型:

    python setup.py develop  # make sure tests can import our package
    pytest  # instead of 'nosetests'
    

    你应该能够运行你的nose样式测试并利用pytest的函数。

    支持的nose风格

    • 在模块/类/方法级别进行设置和拆卸
    • SkipTest异常和标记
    • 设置/拆卸装饰器
    • yield基于测试及其设置(从pytest 3.0开始被认为已弃用)
    • __test__模块/类/函数的属性
    • nose工具的一般使用方法

    不支持的习语/已知问题

    • unittest-style仅在类上被识别,而在普通类上不被识别。在普通类上也支持这些方法,但pytest故意不支持。由于nose和pytest都已经支持它,因此像nose一样复制unittest-API似乎没什么用。但是,如果你认为pytest应该支持普通类的单元测试拼写,请发帖[到这个问题。setUp,tearDown,setUpClass,tearDownClass``unittest.TestCase``nose``setup_class,teardown_class,setup_method,teardown_method[

    • 通过扩展sys.path / import语义,nose导入具有相同导入路径(例如tests.test_mod)但不同文件系统路径(例如tests/test_mode.pyother/tests/test_mode.py)的测试模块。pytest不这样做,但在[#268中有讨论增加一些支持。请注意,[nose2选择避免此sys.path / import hackery。

    如果将conftest.py文件放在项目的根目录中(由pytest确定),pytest将对该目录下面的代码运行测试“nose style”,方法是将其添加到你sys.path的安装代码而不是运行。

    如果你运行设置项目而不是或任何包管理器等效项,你可能会发现自己想要这样做。建议在此模式下使用像tox这样的虚拟环境进行开发。pythonsetup.pyinstall``pythonsetup.pydevelop

    • 没有正确收集和执行nose式doctests,doctest fixtures也不起作用。

    • 没有nose配置被识别。

    • yield基于方法的方法不能setup正确支持,因为该setup方法总是在同一个类实例中调用。目前没有计划修复此问题,因为yield-test在pytest 3.0中已弃用,pytest.mark.parametrize建议使用。

  • 相关阅读:
    2021.11.22 图书管理系统
    2021.12.2 综合案例建模分析
    78 内核级命令实现示例
    74 键盘驱动程序的完善
    81 文件系统设计与实现(一)
    浮点数在内存中的表示
    75 Shell 任务的实现(上)
    79 硬盘驱动程序设计(上)
    浮点数在内存中的表示
    77 Shell 任务的实现(下)
  • 原文地址:https://www.cnblogs.com/superhin/p/11477941.html
Copyright © 2011-2022 走看看