python 2/3升级后运行django测试时出错,unittest.loader.\u测试失败

python 2/3升级后运行django测试时出错,unittest.loader.\u测试失败,python,django,python-3.x,python-unittest,Python,Django,Python 3.x,Python Unittest,我正在帮助我的团队将他们的应用程序从Python2升级到Python3,但在单元测试中遇到了错误。当我使用以下工具运行测试时: python3 manage.py test groupapp --settings=settings.deploy_dev 我得到下面的错误。但如果我与: python3 manage.py test groupapp.tests --settings=settings.deploy_dev 错误不会发生。值得注意的是,即使在我从tests文件夹中删除了所有测试之

我正在帮助我的团队将他们的应用程序从Python2升级到Python3,但在单元测试中遇到了错误。当我使用以下工具运行测试时:

python3 manage.py test groupapp --settings=settings.deploy_dev
我得到下面的错误。但如果我与:

python3 manage.py test groupapp.tests --settings=settings.deploy_dev
错误不会发生。值得注意的是,即使在我从tests文件夹中删除了所有测试之后,这些错误仍然会发生,而且据我所知,它们没有连接到实际的测试用例

我不理解python 3中这两个调用之间的区别。在Python2中,如果我运行这两个调用,我会得到相同的结果—没有测试失败

groupapp_v2.groupapp.admin (unittest.loader._FailedTest) ... ERROR
groupapp_v2.groupapp.models (unittest.loader._FailedTest) ... ERROR

======================================================================
ERROR: groupapp_v2.groupapp.admin (unittest.loader._FailedTest)
----------------------------------------------------------------------
ImportError: Failed to import test module: groupapp_v2.groupapp.admin
Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/unittest/loader.py", line 462, in _find_test_path
    package = self._get_module_from_name(name)
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/unittest/loader.py", line 369, in _get_module_from_name
    __import__(name)
  File "/Users/matthew/bitbucket/consortium-website/groupapp_v2/groupapp/admin/__init__.py", line 73, in <module>
    admin.site.register(Grid, GridAdmin)
  File "/Users/matthew/virtualenv/groupapp-python3.6/lib/python3.6/site-packages/django/contrib/admin/sites.py", line 110, in register
    raise AlreadyRegistered('The model %s is already registered' % model.__name__)
django.contrib.admin.sites.AlreadyRegistered: The model Grid is already registered


======================================================================
ERROR: groupapp_v2.groupapp.models (unittest.loader._FailedTest)
----------------------------------------------------------------------
ImportError: Failed to import test module: groupapp_v2.groupapp.models
Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/unittest/loader.py", line 462, in _find_test_path
    package = self._get_module_from_name(name)
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/unittest/loader.py", line 369, in _get_module_from_name
    __import__(name)
  File "/Users/matthew/bitbucket/consortium-website/groupapp_v2/groupapp/models/__init__.py", line 7, in <module>
    from .deployable import *
  File "/Users/matthew/bitbucket/consortium-website/groupapp_v2/groupapp/models/deployable.py", line 22, in <module>
    class Keyword_LibraryM2M(Model):
  File "/Users/matthew/virtualenv/groupapp-python3.6/lib/python3.6/site-packages/django/db/models/base.py", line 118, in __new__
    "INSTALLED_APPS." % (module, name)
RuntimeError: Model class groupapp_v2.groupapp.models.deployable.Keyword_LibraryM2M doesn't declare an explicit app_label and isn't in an application in INSTALLED_APPS.```

unittest中的测试发现默认的Django测试运行程序从2.7更改为3。实际上,您尝试的是调用Django文档中的test的两种不同方式:


你的应用程序可能有更多的测试发现,那些你明确告诉运行者运行的测试,这不是你的应用程序的问题,只是库的问题。

unittest中的测试发现默认的Django测试运行器从2.7更改为3。实际上,您尝试的是调用Django文档中的test的两种不同方式:


你的应用程序可能有更多的测试发现,那些你明确告诉运行者运行的测试,这不是你的应用程序的问题,只是库的问题。

谢谢!我很难找到有关这些更改的信息。谢谢!我很难找到这些变化的信息。
# Run all the tests in the animals.tests module
$ ./manage.py test animals.tests

# Run all the tests found within the 'animals' package
$ ./manage.py test animals