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建议使用。

  • 相关阅读:
    Python使用Django创建第一个项目
    如何使用RobotFramework编写好的测试用例
    接口测试 总结(什么是接口测试)
    APP接口测试
    Django基础五之中间件
    Django基础五之django模型层(二)多表操作
    Django基础五之django模型层(一)单表操作
    Django基础四之模板系统
    Django基础三之视图函数
    DJANGO2--url路由
  • 原文地址:https://www.cnblogs.com/superhin/p/11477941.html
Copyright © 2011-2022 走看看