繁体   English   中英

如何使用鼻子2测试Python 2代码

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM