Python Unittest在没有提到错误来源的情况下无法启动某些语法错误

时间:2012-01-15 15:44:42

标签: python unit-testing postgresql sqlalchemy flask

我正在使用flask,postgresql和sqlalchemy以及在Eclipse中编码的web应用程序。 我正在使用python unittest来测试基本功能。

所以我正在编辑我的代码而错误地在评论中输入了∫。因为它是在评论中我没有费心去除它(我知道编码和所有,但我仍然做到了!)我运行我的unittest并且它没有进行任何测试,原因很明显。但问题是我无法找到错误的原因,直到我运行本地服务器,然后我才能找到错误。

我过去遇到过类似的问题,一些未知的小错误会导致我的测试开始甚至没有告诉我错误来源。

所以我的问题是有什么方法可以在使用python unittest模块时找到错误来源并避免上述情况?

1 个答案:

答案 0 :(得分:3)

运行basic unittest example并添加# ∫条评论会出现以下错误:

  File "example.py", line 4  
SyntaxError: Non-ASCII character '\xe2' in file x.py on line 4, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details

使用python -m unittest example我会得到相同的异常(回溯时间稍长)。

所以这似乎不是一个单位测试问题。 您是否使用Eclipse插件来运行测试?如果是这样,请尝试从命令行运行它;如果工作正常,这可能是该插件中的一个错误。