如何捕获单个单元测试的时间,包括设置成本?
我有一个带有设置程序的测试基础,需要花费很多时间才能完成。我有几个测试从这个测试基础下来,我有一个装饰器,理论上应该打印出运行每个测试所需的时间:
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
现在,当我运行这些测试时,我发现我只打印测试运行时间不包括设置时间。切线上,一个相关的问题可能是:最好是处理测试框架之外的时间安排吗?
答案 0 :(得分:5)