我正在使用自定义管理命令来运行 +500 行代码并包含多个函数定义(并执行数据库查询)。
管理/命令/talk.py
from django.core.management.base import BaseCommand
class Command(BaseCommand):
def handle(self):
def hello():
print "Hello!"
def my_god():
print "OMG!"
def main():
hello()
my_god()
我无法单独访问句柄方法中的函数(例如通过Command().handle.hello()
do )以对它们进行单元测试,还是我错过了一种方法?
我对此的解决方案是将所有代码放在handle
方法 in下management/handle_command.py
,然后只导入该代码并在inmain
下运行。然后我可以对来自.handle
management/commands/talk.py
management/handle_command.py
提议的管理/命令/talk.py 示例
import my_project.my_app.management.handle_command
from django.core.management.base import BaseCommand
class Command(BaseCommand):
def handle(self):
my_project.my_app.management.handle_command.main()
我应该如何最好地处理handle
自定义 django-admin 命令模块方法中的测试功能?