【发布时间】:2018-06-20 23:38:17
【问题描述】:
我想在自定义管理命令中测试用户输入确认答案。该测试是针对显示给用户的消息和她输入的答案。
命令代码为:
class Command(BaseCommand):
def add_arguments(self, parser):
parser.add_argument('id', type=int)
def handle(self, *args, **options):
try:
experiment = Experiment.objects.get(pk=options['id'])
except Experiment.DoesNotExist:
raise CommandError(
'Experiment with id "%d" does not exist' % (options['id'])
)
answer = input('Are you sure? (Y/n)')
if answer == 'Y':
experiment.delete()
这个accepted answer 建议使用模拟,但它是在一个孤独的环境中。我想测试用户输入以及可以添加到自定义命令中的其他内容。
什么是有效的方法?
【问题讨论】:
标签: python django unit-testing