Vscode запуск теста django с базой данных в контейнере docker на хосте

Мои настройки.json

{
    "python.linting.pylintEnabled": true,
    "python.linting.enabled": true,
    "python.testing.unittestArgs": [
        "-v",
        "-s",
        ".",
        "-p",
        "test_*.py"
    ],
    "python.testing.pytestEnabled": false,
    "python.testing.unittestEnabled": true,
    "[python]": {
        "editor.defaultFormatter": "ms-python.autopep8",
        "editor.formatOnSave": true,
        "editor.codeActionsOnSave": {
            "source.organizeImports": "explicit",
            "source.fixAll": "explicit"
        },
        "editor.rulers": [
            80,
        ]
    },
    "black-formatter.args": [
        "--line-length",
        "80"
    ],
    "python.analysis.autoImportCompletions": true,
    "python.analysis.typeCheckingMode": "off",
    "python.envFile": "${workspaceFolder}/.vscode/.env",
    
    
    // "isort.args":["--profile", "black"]
}

Я вижу все тесты в Test explorer. У меня есть тестовая база данных postgres, запущенная в контейнере docker вне vscode в режиме сетевого хоста на ubuntu. У меня есть файл .vscode/.env со всеми переменными env, необходимыми для запуска тестового случая.

При запуске теста из test_explorer я получаю ошибку

django.db.utils.IntegrityError: duplicate key value violates unique constraint "user_category_name_key"
DETAIL:  Key (name)=(Admin) already exists.

Если я попробую запустить тот же тестовый пример через Run and debug, используя следующий launch.json файл - он успешно работает

{
  "version": "0.2.0",
  "configurations": [
    {
      "name": "Django test",
      "type": "debugpy",
      "request": "launch",
      "program": "${workspaceFolder}/manage.py",
      "args": [
        "test",
        "app1.tests.test1.test_abc",
        "--keepdb"
      ],
      "django": true,
      "envFile": "${workspaceFolder}/.vscode/.env",
      "console": "integratedTerminal"
    }
  ]
Вернуться на верх