我正在使用 flask、postgresql 和 sqlalchemy 开发一个 Web 应用程序,并在 Eclipse 中进行编码。 我正在使用 python unittest 来测试基本功能。
所以我在编辑我的代码时不小心在注释中输入了 ∫ 。因为它在评论中,所以我没有费心删除它(我知道编码,但我仍然做到了!)我运行了我的单元测试,但由于显而易见的原因,它没有运行任何测试。但问题是在我运行本地服务器之前我无法找到错误原因,然后我才能找到错误。
我过去遇到过类似的问题,一些未知的小错误甚至在没有通知我错误来源的情况下阻止我的测试甚至开始。
所以我的问题是在使用 python unittest 模块时有什么方法可以找到错误源并避免上述情况?
最佳答案
运行 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 插件来运行您的测试?如果是这样,请尝试从命令行运行它;如果一切正常,这可能是该插件中的错误。
关于Python Unittest 无法在不提及错误源的情况下启动某些语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8870956/