2014-02-11 25 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