如何在Python中通过Pycharm使用调试器进行单元测试?

b0zn9rqh  于 12个月前  发布在  Python
关注(0)|答案(3)|浏览(107)

我有以下问题:
我正在做一些单元测试,但问题是我不能使用调试器,我试图使用断点点击“名称文件”,但它不工作。或者,我试图使用下面的装饰器@override_settings(DEBUG=True),但我再次没有结果使用这种方式。
我确切地说,只有在单元测试中我才有这种问题。代码的其他部分工作得很好。
你能帮帮我吗?
PS:为了做单元测试,我从django. test导入了TestCase。
非常感谢您!

8nuwlpux

8nuwlpux1#

我以前在使用PyCharm+Django的时候,在命令行运行python manage.py test的时候也遇到过同样的问题。我通过创建新的配置来解决这个问题。


的数据
主要是,你将需要填写“脚本路径”(路径到manage.py)和“参数”.

然后,使用该配置运行debug,Django测试中的断点将正常工作。

uwopmtnx

uwopmtnx2#

PyCharm菜单:
运行/编辑配置/添加Django测试/添加目标和选项。
例如,下面是从命令行到GUI字段的Map,
仅运行一种测试方法
第一个月
目标:动物.测试.动物测试案例.test_animals_can_speak
选项:--keepdb

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

xqkwcwgp

xqkwcwgp3#

如果你已经有了一个运行测试的命令行方式,你可以很容易地把它带到Pycharm中的运行配置(这适用于Pycharm社区版),告诉它运行manage.py文件,然后添加运行测试所需的参数。
例如,假设您有一个Django根项目文件夹,其中包含一个app文件夹和一个“tests”子文件夹(“tests”甚至可以为每个测试类别提供更多的参数)。所以路径应该是这样的:root_project/app/tests。我假设这个测试文件夹有一个__init__.py文件,并且如果“测试”中有__init__.py文件,因此,运行这些测试的可行命令可以是python manage.py test app.tests.<module>.<file>
给定这个命令,你可以在Pycharm中创建一个运行配置,方法是:进入运行>编辑配置>(点击“+”)并选择Python(只是普通的“Python”,而不是“Python测试”)。给它任何你想要的名字(例如:“运行单元测试”),然后添加:

  • “脚本”字段:manage.py文件的路径(例如:project_root/manage.py)
  • “参数”:在python manage.py之后放入的任何命令,因此在上面的示例中,它将是test app.tests.<module>.<file>
  • “Python解释器”:如果没有自动选择,选择你在通过命令运行测试时使用的解释器。例如,它可以是虚拟环境中的解释器。

其他字段应该自动填充,但为了以防万一,请确保“工作目录”显示您的项目根文件夹,并选择“将内容根添加到PYTHONPATH”和“将源根添加到PYTHONPATH”。
当然,在这个例子中,你可以用你想在tests文件夹中运行的任何子文件夹替换“[module]”,或者如果不存在任何子文件夹,就完全删除它。同时用你想运行的测试文件替换“[file]”。
x1c 0d1x的数据
只需保存此配置,您就可以使用它来运行或调试您的测试,只需选择您创建的运行配置,然后单击您需要的按钮:


相关问题