নেটের উত্তরের ভিত্তিতে আমার কাছে এটি রয়েছে:
def make_test_wrapper_for(command_module):
def _run_cmd_with(*args):
"""Run the possibly_add_alert command with the supplied arguments"""
cmd = command_module.Command()
(opts, args) = OptionParser(option_list=cmd.option_list).parse_args(list(args))
cmd.handle(*args, **vars(opts))
return _run_cmd_with
ব্যবহার:
from myapp.management import mycommand
cmd_runner = make_test_wrapper_for(mycommand)
cmd_runner("foo", "bar")
এখানে সুবিধা হ'ল আপনি যদি অতিরিক্ত বিকল্প এবং অপ্টপার্স ব্যবহার করেন তবে এটি আপনার জন্য সাজিয়ে দেবে। এটি বেশ নিখুঁত নয় - এবং এটি এখনও পাইপ আউটপুট দেয় না - তবে এটি পরীক্ষার ডাটাবেস ব্যবহার করবে will এরপরে আপনি ডাটাবেস প্রভাবগুলির জন্য পরীক্ষা করতে পারেন।
আমি নিশ্চিত যে মিশেল ফোর্ডস মক মডিউলটি ব্যবহার করেছি এবং পরীক্ষার সময়কালে স্টেডআউট পুনর্বিবেচনার অর্থ আপনিও এই কৌশলটি থেকে আরও কিছু পেতে পারেন - আউটপুট পরীক্ষা করা, প্রস্থান পরিস্থিতি ইত্যাদি test