【问题标题】:Retrieving Django Unittest result in view在视图中检索 Django Unittest 结果
【发布时间】:2014-02-11 03:26:59
【问题描述】:

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

编辑:试过了,没用:

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

【问题讨论】:

  • 这可能是一种粗略的做法,但请尝试call_command
  • 如果您只需要一个 Web 界面来查看您的测试结果,请使用 buildbot 之类的 CI 工具,而不是自己创建。

标签: django django-unittest


【解决方案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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-02-08
    • 2017-03-26
    • 2012-08-27
    • 1970-01-01
    • 1970-01-01
    • 2012-11-25
    • 1970-01-01
    • 2018-12-23
    相关资源
    最近更新 更多