【发布时间】:2023-03-04 02:13:01
【问题描述】:
我之前问过这个问题 (Force nose2 to use Python 2.7 instead of Python 3.5) 但没有得到答案,我想我可以再试一次。我正在尝试使用命令运行测试
nose2
但我收到一个以
结尾的错误SyntaxError: Missing parentheses in call to 'print'
似乎nose2 假定代码在 Python 3 中,而在这种情况下它在 Python 2 中。有没有办法让 nose2 在 Python 2 代码上工作? (例如通过更改其配置)?
【问题讨论】:
-
根据this文档nose2应该支持Python 2.6、2.7、3.2及以上。你确定你使用python2解释器吗? python2和python3之间有很多differences。您提到的语法错误建议您尝试使用 python3 解释器运行 python2 代码。
-
在stackoverflow.com/questions/9079036/… 之后,我使用包含
print(sys.version_info[0])的脚本检查了我的Python 版本,它返回2。 -
顺便说一下,另一个“按原样”工作的测试程序是pytest。它的测试发现方法略有不同(例如,我不得不将测试脚本重命名为以
test_开头或以_test结尾),但我发现终端输出比nose2更加用户友好。
标签: python unit-testing nose2