如何使用tox.ini运行测试

时间:2019-02-25 19:49:06

标签: python pytest python-unittest python-3.7 tox

我正在阅读并尝试在线理解一些图书馆,并且遇到以下问题:

  1. 没有pytest或unitest的测试

我正在在线阅读,并且找到了一个 tox.ini 文件,如下所示:

[tox]
envlist =
    py27
    py35
    py36
    py37
    flake8

[testenv:flake8]
basepython = python
deps = flake8
commands = flake8 related

[testenv]
setenv =
    PYTHONPATH = {toxinidir}:{toxinidir}/related

deps =
    -r{toxinidir}/dev-requirements.txt

commands =
    pip install -U pip
    py.test --basetemp={envtmpdir}

我仍然无法使其运行。我做了以下事情:

pip install -U pip
py.test --basetemp={envtmpdir}
py.tests --basetemp={py37}

usage: py.test [options] [file_or_dir] [file_or_dir] [...]
py.test: error: unrecognized arguments: --mccabe --pep8 --flake8
  inifile: /home/tmhdev/Documents/related/pytest.ini
  rootdir: /home/tmhdev/Documents/related

如何在此文件中运行测试? 该库称为相关库:https://github.com/genomoncology/related/tree/master/tests

1 个答案:

答案 0 :(得分:0)

tox itself is an environment manager可以为您运行一系列命令(例如make,但它了解python内容)

通常,在存在tox.ini时运行测试的最简单方法是仅调用tox本身(可以与pip install tox一起安装)

如果您想大致再现毒素在幕后所做的事情(比如上面的tox -e py37),则需要创建一个virtualenv然后调用测试。

# environment setup
virtualenv -p python3.7 .tox/py37
. .tox/py37/bin/activate
.tox/py37/bin/pip install -r dev-requirements.txt
export PYTHONPATH=$PWD/$PWD/related

# testenv `commands`
pip install -U pip
py.test --basetemp=.tox/py37/tmp