运行鼻子测试命令

时间:2019-02-07 07:26:40

标签: python python-3.x nose setup.py tox

我创建了这个tox.ini文件:

[tox]
envlist = py37

[testenv]
commands = /bin/sh nosetests config_test.test_config_sdk:test_bucket_existing

它抛出此错误:

$ tox
GLOB sdist-make: /Users/me/git/config-test/setup.py
py37 create: /Users/me/git/config-test/.tox/py37
py37 inst: /Users/me/git/config-test/.tox/.tmp/package/1/sdk-config-1.0.0.zip
py37 installed: sdk-config==1.0.0,config-test==1.0.0
py37 run-test-pre: PYTHONHASHSEED='2567467531'
py37 runtests: commands[0] | /bin/sh nosetests config_test.test_config_sdk:test_bucket_existing
/Users/me/git/config-test/venv/bin/nosetests: line 3: import: command not found
/Users/me/git/config-test/venv/bin/nosetests: line 4: import: command not found
from: can't read /var/mail/nose
/Users/me/git/config-test/venv/bin/nosetests: nosetests: line 9: syntax error near unexpected token `('
/Users/me/git/config-test/venv/bin/nosetests: nosetests: line 9: `    sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])'
ERROR: InvocationError for command '/bin/sh nosetests config_test.test_config_sdk:test_bucket_existing' (exited with code 2)
__________________________________________________________________________ summary ___________________________________________________________________________
ERROR:   py37: commands failed

nosetests config_test.test_config_sdk:test_bucket_existing可以在终端中运行。

我做错了什么吗,还是在Tox中不可能执行此命令?

1 个答案:

答案 0 :(得分:1)

这是您为tox注册的运行命令:

/bin/sh nosetests config_test.test_config_sdk:test_bucket_existing

在这里,nosetests作为shell脚本被调用;但这是误导。
nosetests是您PATH中的可执行python脚本,应直接执行。

将命令注册为:

nosetests config_test.test_config_sdk:test_bucket_existing

解决了错误。