鼻测试依赖支持
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点相同。
- 优先级高于默认值且不属于任何 依赖关系链首先按优先级排序,然后按名称排序。
未指定的默认优先级为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?分支=主)