如何直接从测试驱动程序调用自定义Django manage.py命令?

我想为Django manage.py命令编写一个单元测试,该命令在数据库表上执行后端操作。如何直接从代码中调用管理命令

我不想从tests.py在操作系统的shell上执行命令,因为我无法使用使用manage.py test(测试数据库、测试虚拟电子邮件发件箱等)设置的测试环境

测试这些东西的最佳方法是将所需的功能从命令本身提取到独立的函数或类。它有助于从“命令执行材料”中抽象出来并编写测试,而无需额外的需求

但是,如果由于某种原因无法将逻辑表单命令解耦,则可以使用如下call_command方法从任何代码中调用它:

来自django.core.management导入调用命令的


调用命令('my_command','foo',bar='baz')

发表评论