2

当我运行单元测试时,出现此错误:

FAIL: test_syntax (mezzanine.core.tests.Tests)

回溯(最近一次通话最后):

文件“/Users/taylor/aco/lib/python2.7/site-packages/mezzanine/core/tests.py”,第 459 行,在 test_syntax

self.fail("语法警告!\n\n%s" % "\n".join(warnings)) AssertionError: 语法警告!

mezzanine/core/models.py:340:列表理解从第 331 行重新定义“名称”

这是我在运行单元测试时遇到的唯一错误,我到处搜索以找出解决此错误的方法,但没有发现任何有用的信息。有人可以向我解释这里发生了什么以及如何解决它吗?

4

1 回答 1

1

我假设您正在运行 Mezzanine 1.3.0,这是当前的稳定版本。目前github中的master分支没有这个问题。我刚刚安装执行了以下操作:

$ pip install git+https://github.com/stephenmcd/mezzanine.git#egg=Mezzanine
$ mezzanine-project project
$ python project/manage.py test
Creating test database for alias 'default'...
.................................................................................
.................................................................................
.................................................................................
...............................s......s..................................s.......
................................................................
----------------------------------------------------------------------
Ran 388 tests in 30.556s

OK (skipped=3)
Destroying test database for alias 'default'...

值得一提的是,test_syntax在 1.3.0 中失败的方法使用 pyflakes.Checker 和 pep8 Python 模块运行测试。该文件mezzanine/core/models.py有(有?)语法错误。对提交的简短扫描表明它test_syntax没有改变。给出错误的特定语法在with_respect_tomezzanine.core.models.Orderable方法中,它没有任何 PEP8 或 pyflakes 错误。当我针对 1.3.0 版本运行 pyflakes 时:mezzanine.core.models

$ pyflakes ../lib/python2.6/site-packages/mezzanine/core/models.py
../lib/python2.6/site-packages/mezzanine/core/models.py:340: list comprehension
redefines 'name' from line 331
于 2013-02-14T22:34:34.903 回答