如何使用 nose2 测试 Python 2 代码
How to test Python 2 code using nose2
我以前问过这个问题 (Force nose2 to use Python 2.7 instead of Python 3.5) 但没有得到答案,我想我可以再试一次。我正在尝试 运行 使用命令
进行测试
nose2
但我收到以
结尾的错误
SyntaxError: Missing parentheses in call to 'print'
似乎nose2假设代码在Python3中,而在这种情况下它在Python2中。有什么办法可以使nose2
在 Python 2 代码上工作? (例如通过更改其配置)?
nose2 采用在 shebang 行中配置的任何 python。
测试 python2 项目使用(可执行文件和路径在您的机器上可能不同):
python2.7 /usr/local/bin/nose2
已通过此示例验证:
test.py:
def test_the_program():
print "foo"
和python3:
$ python3 /usr/local/bin/nose2
======================================================================
ERROR: test (nose2.loader.ModuleImportFailure)
----------------------------------------------------------------------
ImportError: Failed to import test module: test
(...)
print "hans"
^
SyntaxError: Missing parentheses in call to 'print'
----------------------------------------------------------------------
Ran 1 test in 0.000s
FAILED (errors=1)
与python2.7:
$ python2.7 /usr/local/bin/nose2
foo
.
----------------------------------------------------------------------
Ran 1 test in 0.000s
OK
我以前问过这个问题 (Force nose2 to use Python 2.7 instead of Python 3.5) 但没有得到答案,我想我可以再试一次。我正在尝试 运行 使用命令
进行测试nose2
但我收到以
结尾的错误SyntaxError: Missing parentheses in call to 'print'
似乎nose2假设代码在Python3中,而在这种情况下它在Python2中。有什么办法可以使nose2
在 Python 2 代码上工作? (例如通过更改其配置)?
nose2 采用在 shebang 行中配置的任何 python。
测试 python2 项目使用(可执行文件和路径在您的机器上可能不同):
python2.7 /usr/local/bin/nose2
已通过此示例验证:
test.py:
def test_the_program():
print "foo"
和python3:
$ python3 /usr/local/bin/nose2
======================================================================
ERROR: test (nose2.loader.ModuleImportFailure)
----------------------------------------------------------------------
ImportError: Failed to import test module: test
(...)
print "hans"
^
SyntaxError: Missing parentheses in call to 'print'
----------------------------------------------------------------------
Ran 1 test in 0.000s
FAILED (errors=1)
与python2.7:
$ python2.7 /usr/local/bin/nose2
foo
.
----------------------------------------------------------------------
Ran 1 test in 0.000s
OK