Arx*_*xas 5 python django visual-studio-code
我正在使用python 3.6.5,django 2.0.3和VSCode 1.21.1。
在我的项目中,我test_*.py在以下位置有几个测试文件()app/tests/。我可以使用cmd:来简单地运行它们python manage.py test app.tests。我想使用VSCode测试调试,所以我决定配置内置的unittest处理程序。
首先,我编辑了工作区settings.json文件,并添加了以下代码:
"python.unitTest.unittestEnabled": true,
"python.unitTest.unittestArgs": [
"-s",
"app.tests",
"test_*.py",
Run Code Online (Sandbox Code Playgroud)
事实证明,__init__.py文件app和tests文件夹都需要文件才能检测包含测试的文件。我最近切换到Python 3,真的很高兴__init__.py不再需要文件(PEP420)。但是,是的,为了使测试检测正常工作,我不得不添加它们。
然后我发现,如果没有先进行调用django.setup()和设置DJANGO_SETTINGS_MODULE,我仍然无法运行测试。因此,我必须在每个测试文件的开头添加以下代码:
import django
import os
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'MyAwesomeWebApp.settings')
django.setup()
Run Code Online (Sandbox Code Playgroud)
这是真的需要吗,还是有其他方法可以在VSCode中配置单元测试?
小智 3
我遇到过同样的问题。所以,我已经设法在 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",
},
Run Code Online (Sandbox Code Playgroud)
我可以使用断点并探索测试变量状态。所以我希望它能帮助你或任何人。
| 归档时间: |
|
| 查看次数: |
752 次 |
| 最近记录: |