由于应用程序尚未加载,Pytest 模型未导入

问题描述 投票:0回答:4
nas_apps
    nas_apps
       -__init__.py
       -environments.py
       -settings.py
       -urls.py
       -wsgi.py
       -pytest.ini
    usecase1
       -conf
       -logs
       -management
       -migrations
       -services
       -templates
       -utils
           -__init__.py
           -apps.py
           -controllers.py
           -forms.py
           -models.py
           -serializers.py
           -urls.py
           -views.py
    usecase2
    usecase3
    tests
        -fixtures
        -conftest.py
        -input_data.json
        -test_usecase1.py

====================================================== ============== 平台 Linux -- Python 3.5.2、pytest-3.4.1、py-1.5.2、pluggy-0.6.0

-- /home/.../Envs/venv/bin/python3 缓存目录:.pytest_cache 根目录:/home/..../Desktop/dev2/NAS/nas_apps/tests,inifile:插件: sanic-0.1.8、django-3.1.2、cov-2.5.1 收集了 0 个项目/1 个错误

====================================================== ============================================ 错误

__________________________________________________________________________ 收集 test_maintenance.py 时出错 ___________________________________________________________________________ test_usecase1.py:17: 在 从 usecase1.services.db_helper 导入 DbHelper ../usecase1/services/db_helper.py:16: 在 从 .log_service 导入 LogRunner ../usecase1/services/log_service.py:17: 在 类 LogRunner: ../usecase1/services/log_service.py:18: 在 LogRunner 中 _config_manager = ConfigManager() ../usecase1/utils/config.py:24: 在 init 中 curr_app_dir = apps.get_app_config('usecase1').verbose_name.lower() /home/.../Envs/uscc01/lib/python3.5/site-packages/django/apps/registry.py:145: 在 get_app_config 中 self.check_apps_ready() /home/.../Envs/uscc01/lib/python3.5/site-packages/django/apps/registry.py:127: 在 check_apps_ready 中 raise AppRegistryNotReady("应用程序尚未加载。") E django.core.exceptions.AppRegistryNotReady:应用程序尚未加载。

有人可以帮我解决这个问题吗?感谢您的帮助。

python django django-rest-framework pytest
4个回答
2
投票

pytest.ini
文件不知何故被错误地放置到另一个 apps 文件夹中,理想情况下该文件夹应该放置在 Django 项目文件夹的根目录中。例如平行于
settings.py

# Content of pytest.ini
[pytest]
DJANGO_SETTINGS_MODULE = nas_apps_proj.settings
python_files = tests.py test_*.py *_tests.py

1
投票

以前的解决方案可能在某些特定情况下有效。在其他问题中,看看您是否安装了 pytest-django 来解决我的问题。我们在 requests.txt 中缺少此依赖项,测试人员已手动安装它。


0
投票
have you added all the apps in setting.py try this hope this resolves your concern:
Example:
setting.py
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'django_user_agents',
'add_your_created_app_here',
]

0
投票
try this :
INSTALLED_APPS = [ # Rest framework 'django_filters',
 'django_apscheduler', 
 'rest_framework',
 'corsheaders', 
 # Project applications 
'ms_vlan_failover.apps.Usecase1Config',        
'maintenance_check.apps.Usecase2Config', 
'reporting.apps.Usecase1Config', 
# Django defaults 
'django.contrib.admin', 
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions', 
'django.contrib.messages',    
'django.contrib.staticfiles',
'usecase1',
'usecase2',
'usecase3', 
'tests',
 ]
© www.soinside.com 2019 - 2024. All rights reserved.