【问题标题】:VSCode - messy unittest configuration for django projectVSCode - django 项目的混乱单元测试配置
【发布时间】:2018-09-12 05:06:50
【问题描述】:

我正在使用 python 3.6.5、django 2.0.3 和 VSCode 1.21.1。

在我的项目中,我在以下位置 app/tests/ 中有几个测试文件 (test_*.py)。我可以使用 cmd 简单地运行它们:python manage.py test app.tests。我想使用 VSCode 测试调试,所以我决定配置内置的 unittest 处理程序。

首先我编辑了工作区settings.json 文件添加以下代码:

"python.unitTest.unittestEnabled": true,
"python.unitTest.unittestArgs": [
    "-s",
    "app.tests",
    "test_*.py",

事实证明,apptests 文件夹都需要 __init__.py 文件,以便检测包含测试的文件。我最近切换到 Python 3 并且真的很高兴 __init__.py 文件不再是必需的 (PEP420)。但是,是的,我必须添加它们只是为了使测试检测工作。

然后我发现如果不调用django.setup() 并首先设置DJANGO_SETTINGS_MODULE,我仍然无法运行我的测试。因此,我不得不在每个测试文件的开头添加以下代码:

import django
import os
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'MyAwesomeWebApp.settings')
django.setup()

这一切真的是必需的还是有其他方法可以在 VSCode 中配置单元测试?

【问题讨论】:

    标签: python django visual-studio-code


    【解决方案1】:

    我有同样的问题。所以,我已经设法在 VS 中运行 django 测试,并在调试配置中使用下一个配置。

    {
        "name": "Python: Django Test",
        "type": "python",
        "request": "launch",
        "stopOnEntry": true,
        "pythonPath": "${config:python.pythonPath}",
        "program": "${workspaceFolder}/manage.py",
        "cwd": "${workspaceRoot}",
        "args": [
        "test",
         ],
        "env": {},
        "envFile": "${workspaceFolder}/.env",
    },
    

    我可以使用断点并探索测试变量的状态。所以我希望它会帮助你或任何人。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-10-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-13
      • 1970-01-01
      • 2021-08-07
      相关资源
      最近更新 更多