【问题标题】:Timing a unit test, including the set up计时单元测试,包括设置
【发布时间】:2014-07-15 15:09:19
【问题描述】:

如何获取单个单元测试的时间,包括设置成本?

我有一个带有设置程序的测试基地,这需要很长时间才能完成。我有几个来自该测试库的测试,并且我有一个装饰器,理论上它应该打印出运行每个测试所需的时间:

class TestBase(unittest.TestCase):
    def setUp(self):
        # some setup procedure that takes a long time

def timed_test(decorated_test):
    def run_test(self, *kw, **kwargs):
        start = time.time()
        decorated_test(self, *kw, **kwargs)
        end = time.time()
        print "test_duration: %s (seconds)" % (end - start)
    return run_test


class TestSomething(TestBase):
    @timed_test
    def test_something_useful(self):
        # some test

现在,当我运行这些测试时,我发现我只打印了运行测试所花费的时间不包括设置时间。切线地,一个相关的问题可能是:在测试框架之外处理时间是否最好?

【问题讨论】:

    标签: python django unit-testing testing python-unittest


    【解决方案1】:

    我不会重新发明轮子并将nose 测试运行器与nose-timer plugin 一起使用:

    鼻子测试的计时器插件回答了这个问题:多少时间 每次考试都要考吗?

    在此处查看有关nose-timer 的更多信息:

    【讨论】:

    • 是的,这实际上是一个很棒的回应......我一直避免在我们的 requirements.txt 中添加东西,但在某个时候,我似乎最好花时间说服某人包括鼻子而不是绕过另一个点。谢谢!
    猜你喜欢
    • 2019-10-23
    • 1970-01-01
    • 2011-10-01
    • 2016-03-29
    • 2023-04-04
    • 2017-08-31
    • 2016-08-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多