【问题标题】:How can I use debugger with unit test in Python with Pycharm?如何在 Python 中使用带有 Pycharm 的调试器进行单元测试?
【发布时间】:2020-01-03 17:06:04
【问题描述】:

我有以下问题:

我正在做一些单元测试,但问题是我无法使用调试器我尝试使用断点单击“调试名称文件”但它不起作用。或者,我尝试使用以下装饰器 @override_settings(DEBUG=True) 的 tyhe,但我再次使用这种方式没有结果。

我确切地说,只有单元测试我才会遇到这种问题。代码的另一部分运行良好。

你能帮帮我吗?

PS:为了进行单元测试,我从 django.test 导入了 TestCase。

非常感谢!

【问题讨论】:

  • “它不起作用”是什么意思?您使用的是哪个 PyCharm 版本?
  • 我的意思是这就像我在没有激活模式调试的情况下点击运行
  • 这并不清楚。请添加更多详细信息(甚至可能是屏幕截图),如[SO]: How to create a Minimal, Reproducible Example (reprex (mcve)) 中所述。
  • 所以您点击了测试旁边边栏中的Debug Unittests for test_... 命令?而在底部控制台中,打开的选项卡的名称是“调试”?
  • 您确定“静音断点”选项没有被激活? (带斜线的小红圈)

标签: python django python-3.x debugging pycharm


【解决方案1】:

从命令行运行python manage.py test 时,我曾经遇到过与 PyCharm+Django 相同的问题。我通过为测试创建新配置来解决它。

主要是需要填写“脚本路径”(manage.py的路径)和“参数”。

然后,使用该配置运行调试,Django 测试中的断点将起作用。

【讨论】:

    【解决方案2】:

    PyCharm 菜单:

    运行/编辑配置/添加 Django 测试/添加目标和选项。

    例如,这里是从命令行到 GUI 字段的映射,

    只运行一种测试方法

    ./manage.py test --keepdb animals.tests.AnimalTestCase.test_animals_can_speak

    目标:animals.tests.AnimalTestCase.test_animals_can_speak

    选项:--keepdb

    .

    参考,https://www.jetbrains.com/help/pycharm/2020.1/run-debug-configuration-django-test.html

    【讨论】:

      猜你喜欢
      • 2012-06-07
      • 2014-04-08
      • 1970-01-01
      • 2010-11-09
      • 2020-04-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多