鼻测试依赖支持

nosedep的Python项目详细描述


##测试依赖项的nosetest插件。

通常,测试不应该相互依赖,应该避免 尽可能长。最佳情况下,每个测试都应该能够单独运行。

然而,在一些罕见的情况或特殊情况下, 想要这个。例如,如果有非常慢的集成测试,其中重做什么测试 A仅仅是为了运行B测试的成本太高了。或暂时 测试或调试。也可能有人想先运行一些测试 作为“冒烟测试”,如果这些测试失败,可以跳过其余的测试。

当前实现允许使用@depends装饰器标记测试 如果测试需要在 其他特定试验。

还支持基于依赖项结果跳过测试, 因此,如果测试B依赖于测试A而测试A失败,那么B将被跳过 一个失败的原因。

nodep还支持为单个测试运行必要的依赖项, 因此,如果指定只运行测试B,而测试B依赖于A,则A将 在b之前运行以满足该依赖关系。

请注意,“before”依赖项被视为软依赖项。软依赖只会 影响测试顺序,而不是强制包含。例如,如果我们有:

def test_a:
  pass

@depends(before=test_a)
def test_b:
  pass

并运行它们将按b,a顺序运行的所有测试。 他们中的任何一个只有那个测试才能运行。但是将其更改为:

@depends(after=test_b)
def test_a:
  pass

def test_b:
  pass

如果指定只运行测试A,则会影响此情况,因为它将 先运行测试B以指定“after”依赖项,因为它是“hard”依赖项。

最后是优先级支持。每个测试都有一个整数优先级 测试将按从低到高的顺序运行。依赖关系接受 优先顺序,因此总的顺序为:

  1. 所有优先级低于或等于默认值且不属于任何 依赖关系链首先按优先级排序,然后按名称排序。
  2. 按顺序排列依赖项组,而每个依赖项组在内部排列 与第1点相同。
  3. 优先级高于默认值且不属于任何 依赖关系链首先按优先级排序,然后按名称排序。

未指定的默认优先级为50。

注意:目前不支持python 2.6和3.2。适用于2.7和3.3+。

##信息

[![PYPI版本](https://badge.fury.io/py/nosedep.svg)](https://pypi.python.org/pypi/nosedep) [![代码运行状况](https://landscape.io/github/Zitrax/nose-dep/master/landscape.svg?style=flat)](https://landscape.io/github/Zitrax/nose-dep/master) [![生成状态](https://travis-ci.org/Zitrax/nose-dep.svg?branch=master)](https://travis-ci.org/Zitrax/nose-dep) [![覆盖状态](https://coveralls.io/repos/Zitrax/nose-dep/badge.svg?branch=master&service=github)](https://coveralls.io/github/Zitrax/nose-dep?分支=主)

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Cassandra复制因子大于节点数   java J2EE JTA事务回滚不适用于OSE Glassfish 4.0(Build 89)   java spring安全预认证用户登录   org的java类文件。反应流。从RxJava编译示例时未找到Publisher?   java在使用dataFormat作为POJO通过Camel调用Web服务时无法设置SOAP标头   Javafx类的java静态实例   java如何防止一个部件在关闭时覆盖另一个部件的位置   sql server无法从我的java代码连接到数据库   java在JList(Swing)中显示带有的ArrayList   从Java中的CXF服务获取WSAddressing数据   使用资产文件夹进行java简单json解析(本地)   java LDAPException未绑定的无效凭据   JavaJSFspring部署到weblogic   JAVA中字符数组中的特定元素排列?   如果脚本位于不同的目录中,则ant不会使用exec标记运行Javashell脚本