2014-02-11 23 views
1

我找不到这个任何地方,但是否有可能从一个Django视图内运行单元测试,以输出到模板?目前如果我运行python manage.py test,则会收到类似“Ran 10 tests in 0.401s OK”的消息。我想从我的一个观点获取这些信息。有什么建议么?谢谢!检索Django的单元测试结果鉴于

编辑:试过了,没有工作:

import StringIO 
from django.core import manegement 
output = StringIO.StringIO() 
management.call_command('test', stdout=output) 
print output.contents 
+1

这可能是做一个粗暴的方式,但要尽量['call_command']( https://docs.djangoproject.com/en/dev/ref/django-admin/#call-command) – karthikr

+0

如果你只需要一个Web界面来查看您的测试结果,使用像buildbot一个CI工具,而不是创建拥有。 –

回答

1

最终得到我想要的东西有:

import unittest 
from testAdditional import UserTestCase #Where my unittest was defined 
suite=unittest.TestLoader().loadTestsFromTestCase(UserTestCase) 
testResult = unittest.TextTestRunner(verbosity=2).run(suite) 
response_data['nrFailed'] = len(testResult.failures) 
response_data['output'] = "{}{}".format('\n'.join([result[1] for result in testResult.errors]),'\n'.join([result[1] for result in testResult.failures])) 
response_data['totalTests'] = testResult.testsRun