Pytest权威教程-16运行Nose用例

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

转载于:https://www.cnblogs.com/superhin/p/11477941.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值