如何使用 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 的测试?的主要内容,如果未能解决你的问题,请参考以下文章

PyCharm 创建Django 第一个项目

pycharm中使用sass

如何在pycharm中快速删除一行

PyCharm使用Github管理代码

Pycharm **kwargs 自动完成

在 PyCharm 中的何处配置我的 AWS“代码提交”凭证? [Elastic Beanstalk 代码管道]