【发布时间】: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",
事实证明,app 和 tests 文件夹都需要 __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