如何使用 Pycharm 逐步完成使用 Django 和 docker-compose 的测试?
Posted
技术标签:
【中文标题】如何使用 Pycharm 逐步完成使用 Django 和 docker-compose 的测试?【英文标题】:How do I use Pycharm to step through tests that use Django and docker-compose? 【发布时间】:2018-01-18 17:44:00 【问题描述】:我是通过 Java 接触 Python 的新手。我正在尝试在 Pycharm 项目中使用 Django 类时遇到我认为的类路径问题。如何让我的项目识别 django.contrib.auth.models 包?
以下是我收到的错误消息:
/usr/bin/python /Applications/PyCharm.app/Contents/helpers/pydev/pydevd.py --multiproc --qt-support=auto --client 127.0.0.1 --port 49963 --file /Users/tcl/_myproject/workspace/myprojectapi/django-nonrel/myproject/integration_tests/tests/bulk_import_validation.py
pydev debugger: process 4747 is connecting
Connected to pydev debugger (build 172.3317.103)
Traceback (most recent call last):
File "/Applications/PyCharm.app/Contents/helpers/pydev/pydevd.py", line 1596, in <module>
globals = debugger.run(setup['file'], None, None, is_module)
File "/Applications/PyCharm.app/Contents/helpers/pydev/pydevd.py", line 1023, in run
pydev_imports.execfile(file, globals, locals) # execute the script
File "/Users/tcl/_myproject/workspace/myprojectapi/django-nonrel/myproject/integration_tests/tests/bulk_import_validation.py", line 1, in <module>
from django.contrib.auth.models import User
ImportError: No module named django.contrib.auth.models
Process finished with exit code 1
我在尝试通过右键单击类并选择调试在 Pycharm 中运行测试类时遇到此错误。
测试通常使用以下命令从 cmd 行运行:
docker-compose run myproject_api python manage.py test integration_tests --configuration=Dev.
有没有办法使用 Pycharm 调试器来单步调试这段代码?
【问题讨论】:
您是否尝试直接从 Django 项目运行脚本?有一个manage.py
可以帮助您运行您的项目。
我通过右键单击 PyCharm 中的 test.py 文件并选择调试来运行。
【参考方案1】:
直接运行测试时,没有加载django。
您需要右键单击manage.py
并在配置中添加参数“test”。
在命令行上,你会执行python manage.py test
也可以执行一个特定的测试用例,通过点符号表示测试用例,例如
python manage.py test MYAPP.tests.MYTESTCASE
更多详情请查看django文档:https://docs.djangoproject.com/en/1.11/topics/testing/overview/#running-tests
【讨论】:
这是从 cmd 行运行的:docker-compose run myproject_api python manage.py test integration_tests --configuration=Dev。有没有办法使用 Pycharm 调试器来单步调试这段代码?以上是关于如何使用 Pycharm 逐步完成使用 Django 和 docker-compose 的测试?的主要内容,如果未能解决你的问题,请参考以下文章