单元2,发现和tox

使用“DISCOVER”运行单元测试

这个 discover Project允许您发现并运行单元测试,您可以轻松地将其集成到 tox 跑。例如,执行以下内容的签出 Pygments

hg clone https://bitbucket.org/birkenfeld/pygments-main

并添加以下内容 tox.ini 对它:

[tox]
envlist = py27,py35,py36

[testenv]
changedir = tests
commands = discover
deps = discover

如果您现在调用 tox 您将看到创建了三个虚拟环境,并在每个虚拟环境中执行了单元测试运行。

一次性运行unittest2和sphinx测试

Michael Foord 贡献了一个 tox.ini 文件,该文件允许您运行HIS的所有测试 mock 项目,包括一些基于狮身人面像的文档测试。如果您使用以下命令签出其存储库:

git clone https://github.com/testing-cabal/mock.git

收银台有一个 tox.ini file 看起来是这样的:

[tox]
envlist = py27,py35,py36,py37

[testenv]
deps = unittest2
commands = unit2 discover []

[testenv:py36]
commands =
    unit2 discover []
    sphinx-build -b doctest docs html
    sphinx-build docs html
deps =
    unittest2
    sphinx

[testenv:py27]
commands =
    unit2 discover []
    sphinx-build -b doctest docs html
    sphinx-build docs html
deps =
    unittest2
    sphinx

模拟使用 unittest2 去做测试。正在调用 tox 通过执行 unit2 discover Python 2.7、3.5、3.6和3.7上的命令。对于Python3.6和Python2.7,它还将运行狮身人面像中介的doctest。如果由于睡觉错误而导致构建文档失败,或者任何文档测试失败,那么tox测试都会报告这一情况。

这个 [] 命令中的括号提供 交互式外壳替换 这意味着您可以例如键入:

tox -- -f -s SOMEPATH

它最终将调用:

unit2 discover -f -s SOMEPATH

在每个环境中。这允许您在您的 tox 快跑。