其他提示

您应该让您的实际命令脚本最小的可能,所以,它只是调用一个函数在其他地方。该函数然后可以经由单元测试或文档测试正常测试。

一个简单的替代解析标准输出是使一个错误代码的管理命令的退出,如果它不使用sys.exit(1)成功运行,例如

可以在与测试捕获此:

    with self.assertRaises(SystemExit):
        call_command('mycommand')

我与丹尼尔认为,实际的命令脚本应该做尽可能小的,但你也可以直接在Django的单元测试使用os.popen4测试。

从您的单元测试中可以有一个像

的命令
fin, fout = os.popen4('python manage.py yourcommand')
result = fout.read()

您可以分析结果的内容,以测试你的Django命令是否成功。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top