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

Pytest权威教程15-运行Nose用例的更多相关文章

  1. Pytest权威教程(官方教程翻译)

    Pytest权威教程01-安装及入门 Pytest权威教程02-Pytest 使用及调用方法 Pytest权威教程03-原有TestSuite的执行方法 Pytest权威教程04-断言的编写和报告 P ...

  2. Pytest权威教程26-示例和自定义技巧

    目录 示例和自定义技巧 返回: Pytest权威教程 示例和自定义技巧 这是一个(不断增长的)示例列表.如果你需要更多示例或有疑问,请联系我们.另请参阅包含许多示例代码段的 综合文档.此外,stack ...

  3. Pytest权威教程05-Pytest fixtures:清晰 模块化 易扩展

    目录 Pytest fixtures:清晰 模块化 易扩展 Fixtures作为函数参数使用 Fixtures: 依赖注入的主要例子 conftest.py: 共享fixture函数 共享测试数据 生 ...

  4. Pytest权威教程21-API参考-01-函数(Functions)

    目录 函数(Functions) pytest.approx pytest.fail pytest.skip pytest.importorskip pytest.xfail pytest.exit ...

  5. Pytest权威教程19-编写钩子(Hooks)方法函数

    目录 编写钩子(Hooks)函数 钩子函数验证和执行 firstresult: 遇到第一个有效(非None)结果返回 hookwrapper:在其他钩子函数周围执行 钩子(Hooks)函数排序/调用示 ...

  6. Pytest权威教程24-Pytest导入机制及系统路径

    目录 Pytest导入机制和sys.path/PYTHONPATH 包中的测试脚本及conftest.py文件 独立测试模块及conftest.py文件 调用通过python -m pytest调用p ...

  7. Pytest权威教程21-API参考-07-配置选项(Configuration Options)

    目录 配置选项(Configuration Options) addopts cache_dir confcutdir console_output_style doctest_encoding do ...

  8. Pytest权威教程21-API参考-05-对象(Objects)

    目录 对象(Objects) CallInfo Class Collector Config ExceptionInfo FixtureDef FSCollector Function Item Ma ...

  9. Pytest权威教程21-API参考-04-钩子(Hooks)

    目录 钩子(Hooks) 引导时的Hook方法 初始化时的Hook方法 测试运行时的Hook方法 收集用例时的Hook方法 生成测试结果时的Hook方法 调试/交互Hook方法 返回: Pytest权 ...

随机推荐

  1. azkban从编译开始安装

    从git上下载最新的azkban稳定版代码 git clone https://github.com/azkaban/azkaban.git -b 3.74.3 这里还有个问题,如何把这个代码放到自己 ...

  2. 全面学习 Python 包:包的构建与分发

    首发于公众号:Python编程时光 1. 为什么需要对项目分发打包? 平常我们习惯了使用 pip 来安装一些第三方模块,这个安装过程之所以简单,是因为模块开发者为我们默默地为我们做了所有繁杂的工作,而 ...

  3. 【转载】Sqlserver使用IsNull方法对空字段进行赋值操作

    在Sqlserver的SQL语句查询过程或者编写存储过程以及自定义函数过程中,有时候字段的值为空,如果为空的字段需要赋值一个默认值,可以使用Sqlserver内置系统函数IsNull来给定一个默认值, ...

  4. Ruby开发小记

    基础点 1.log打印 puts "Hello!" 2.拼接字符 value1 = "today" value2 = "#{value1} is Th ...

  5. [LeetCode] 72. 编辑距离 ☆☆☆☆☆(动态规划)

    https://leetcode-cn.com/problems/edit-distance/solution/bian-ji-ju-chi-mian-shi-ti-xiang-jie-by-labu ...

  6. java sql: PrepareStatement

    参见菜鸟教程:JDBC 使用说明 增删改查: public class DbUtil { public static final String URL = "jdbc:mysql://loc ...

  7. Spark 用Scala和Java分别实现wordcount

    Scala import org.apache.spark.{SparkConf, SparkContext} object wordcount { def main(args: Array[Stri ...

  8. docker 基本常用操作做

    docker 基本常用操作做(只列举入门常用的命令) 容器生命周期管理 docker run :创建一个新的容器并运行一个命令 -a stdin: 指定标准输入输出内容类型,可选 STDIN/STDO ...

  9. weighted—-LR的理解与推广

    在YouTube团队推荐系统Rank阶段,DNN输出层使用了weighted-LR,这既是这篇论文的一大创新点,也是一大难点.在这里,重新梳理下该算法的思路与推导,并进行推广. 理解 先说下常见的逻辑 ...

  10. 【转】 Anatomy of Channels in Go - Concurrency in Go

    原文:https://medium.com/rungo/anatomy-of-channels-in-go-concurrency-in-go-1ec336086adb --------------- ...