[英]How to test Python 2 code using nose2
我之前曾问过这个问题( 强迫鼻子2使用Python 2.7而不是Python 3.5 ),但没有得到答案,我想我可以再试试看。 我正在尝试使用以下命令运行测试
nose2
但我收到一个以结尾的错误
SyntaxError: Missing parentheses in call to 'print'
似乎nose2假定代码是在Python 3中编写的,而在这种情况下,它是在Python 2中编写的。是否有任何方法可以使nose2
在Python 2代码上工作? (例如,通过更改其配置)?
如果在shebang行中配置了python,nose2就可以使用。
要测试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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.