当前位置: 首页 > 面试题库 >

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

慎峻
2023-03-14
问题内容

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

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


问题答案:

测试这类事情的最佳方法-从命令本身提取所需功能到独立功能或类。它有助于从“命令执行内容”中提取内容并编写测试,而无其他要求。

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

from django.core.management import call_command

call_command('my_command', 'foo', bar='baz')


 类似资料:
  • 为Electron应用编写自动测试, 你需要一种 "驱动" 应用程序的方法。 Spectron 是一种常用的解决方案, 它允许您通过 WebDriver 模拟用户行为。 当然,也可以使用node的内建IPC STDIO来编写自己的自定义驱动。 自定义驱动的优势在于,它往往比Spectron需要更少的开销,并允许你向测试套件公开自定义方法。 我们将用 Node.js 的 child_process

  • 为Electron应用编写自动测试, 你需要一种 "驱动" 应用程序的方法。 Spectron is a commonly-used solution which lets you emulate user actions via WebDriver. 当然,也可以使用node的内建IPC STDIO来编写自己的自定义驱动。 自定义驱动的优势在于,它往往比Spectron需要更少的开销,并允许你向

  • 问题内容: 从Mongodb客户端,我们可以使用db.Collection.stats()来获取集合状态,例如: +记录数(计数) +磁盘 大小(storageSize) +索引(indexSizes) +平均对象大小(avgObjSize) 现在,我想使用Mongodb Java驱动程序从Web后端监视这些数据,请让我知道如何获取它们? 我已经提到:http : //mongodb.github

  • 从Mongodb客户端,我们可以使用db.collection.stats()获取集合的状态,例如: +记录数(count) +磁盘上的大小(storageSize) +索引(indexsize) +平均对象大小(avgObjSize) 现在我想用Mongodb java驱动程序从web后端监控这些数据,请让我知道如何获取它们? 我提到了:http://mongodb.github.io/mong

  • 我试图弄清楚,在使用Tableau连接器SDK创建自定义JDBC连接器时,如何让Tableau识别我的JDBC驱动程序。当前,当Tableau加载我的自定义连接器时,我可以告诉驱动程序找不到,因为连接器中显示了一个链接,该链接显示: > 在图表日志中,我可以看到。包含我的驱动程序的jar文件通过搜索它们的名称来识别,它们显示在日志中。 日志环境部分摘录: 未识别的驱动程序屏幕截图显示下载驱动程序

  • 问题内容: 为了调试CUDA代码并检查兼容性,我需要找出已安装的GPU的nvidia驱动程序版本。我找到了如何获取cuda版本?但这对我没有帮助。 问题答案: 使用应该告诉您: