'Pytest models not getting imported due Apps aren't loaded yet

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

=============================================================== platform linux -- Python 3.5.2, pytest-3.4.1, py-1.5.2, pluggy-0.6.0

-- /home/.../Envs/venv/bin/python3 cachedir: .pytest_cache rootdir: /home/..../Desktop/dev2/NAS/nas_apps/tests, inifile: plugins: sanic-0.1.8, django-3.1.2, cov-2.5.1 collected 0 items / 1 errors

========================================================================================= ERRORS

__________________________________________________________________________ ERROR collecting test_maintenance.py ___________________________________________________________________________ test_usecase1.py:17: in from usecase1.services.db_helper import DbHelper ../usecase1/services/db_helper.py:16: in from .log_service import LogRunner ../usecase1/services/log_service.py:17: in class LogRunner: ../usecase1/services/log_service.py:18: in LogRunner _config_manager = ConfigManager() ../usecase1/utils/config.py:24: in 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: in get_app_config self.check_apps_ready() /home/.../Envs/uscc01/lib/python3.5/site-packages/django/apps/registry.py:127: in check_apps_ready raise AppRegistryNotReady("Apps aren't loaded yet.") E django.core.exceptions.AppRegistryNotReady: Apps aren't loaded yet.

Can someone please help me resolve this? Appreciate your help.



Solution 1:[1]

pytest.ini file was somehow got missplaced to another apps folder, which should ideally be placed in root directory of django project folder. for example parallel to settings.py

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

Solution 2:[2]

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',
]

Solution 3:[3]

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',
 ]

Solution 4:[4]

Previous solutions might work in some specific cases. In other ones, take a look if you have installed pytest-django that solved my issue. We were missing this dependency in our requirements.txt and tester has installed it manually.

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Vishal786btc
Solution 2 akash singh
Solution 3 akash singh
Solution 4 Marek GrĂ¡c