【问题标题】:How to use verbosity level in your tests in Django如何在 Django 的测试中使用详细级别
【发布时间】:2015-02-11 22:41:41
【问题描述】:

运行 Django 测试用例允许您像这样指定详细程度 (0,1,2,3)

manage.py test -v 2 myapp.tests.test_mycode.TestMyCode.test_func 

如何在我的test_func 中接收详细标志

【问题讨论】:

    标签: django django-testing django-unittest


    【解决方案1】:

    你可以使用inspect模块:

    from django.test import TestCase
    import inspect
    
    class MyTest(TestCase):
    
        def get_verbosity(self):
            for s in reversed(inspect.stack()):
                options = s[0].f_locals.get('options')
                if isinstance(options, dict):
                    return int(options['verbosity'])
            return 1
    
        def test_func(self):
            verbosity = self.get_verbosity()
            self.assertEqual(verbosity, 2)
    

    【讨论】:

    • 干得好。当您从 TestCase 继承时,我很惊讶没有直接的选项可用
    • 我想TestCase 并不打算输出任何东西,所以没有理由在其中包含verbosity 属性。
    猜你喜欢
    • 2017-08-17
    • 2019-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-09
    • 1970-01-01
    • 2011-08-01
    • 2017-01-21
    相关资源
    最近更新 更多