【发布时间】:2012-10-29 08:44:33
【问题描述】:
我想通过 python 子进程运行 django unittest,并且我想将所有数据(尤其是单词 Failure 或 OK)存储在一个变量中。但是,当我使用 subprocess 运行它时,输出仅包含以下部分:
"正在为别名 'default' 创建测试数据库..." "正在销毁别名 'default' 的测试数据库..."
其余的只是出现在屏幕上,这是我不想要的。如何将 django unittest 的所有输出转换为变量。
args_list = ['python', '/path/to/manage.py', 'test', 'myapp']
process=subprocess.Popen(args_list, stdout=subprocess.PIPE)
output, errors = process.communicate()
print output
输出将等于: 为别名“默认”创建测试数据库... 正在销毁别名“default”的测试数据库...
但是在我的屏幕上出现了 django unittest 的整个标准输出。如何将所有输出存储到变量中。
【问题讨论】:
标签: python django unit-testing subprocess django-unittest