Как в Python / Django настроить параметры теста по умолчанию? - PullRequest
1 голос
/ 04 августа 2020

Я использую Python 3.8 и Django 3. У меня следующая структура каталогов ...

- manage.py  
+ tests
    - __init__.py  
    - factories.py  
    - test_models.py    
    - test_serializers.py
+ directory
    - test_settings.py

Я запускаю свои тесты, используя

python manage.py test --settings=directory.test_settings

Ниже - это содержимое моего файла "test_settings.py" ...

from .settings import *

class DisableMigrations(object):
    # ref: https://stackoverflow.com/a/28560805/12578202

    def __contains__(self, item):
        return True

    def __getitem__(self, item):
        return None

Как мне настроить мой тестовый файл настроек по умолчанию, чтобы я мог запускать тесты, просто выполнив

python manage.py test

1 Ответ

0 голосов
/ 05 августа 2020

Не то, чтобы я знал об обычном способе сделать это, но вот обходной путь, отредактировав ваш manage.py

#!/usr/bin/env python
import os
import sys

if __name__ == "__main__":
    if len(sys.argv) > 1 and sys.argv[1] == 'test':
        os.environ.setdefault("DJANGO_SETTINGS_MODULE", "directory.test_settings")
    else:
        os.environ.setdefault("DJANGO_SETTINGS_MODULE", "yourproject.settings")

...
...