Unittest は、すべてのテストの実行に費やされた合計時間のみを提示し、各テストに費やされた時間を個別に提示しません。
unittest を使用するときに各テストのタイミングを追加するにはどうすればよいですか?
ベストアンサー1
今のところそれは不可能だと思います:翻訳: 翻訳者: python。
しかし、次のようなこともできます:
import unittest
import time
class SomeTest(unittest.TestCase):
def setUp(self):
self.startTime = time.time()
def tearDown(self):
t = time.time() - self.startTime
print('%s: %.3f' % (self.id(), t))
def testOne(self):
time.sleep(1)
self.assertEqual(int('42'), 42)
def testTwo(self):
time.sleep(2)
self.assertEqual(str(42), '42')
if __name__ == '__main__':
suite = unittest.TestLoader().loadTestsFromTestCase(SomeTest)
unittest.TextTestRunner(verbosity=0).run(suite)
結果:
__main__.SomeTest.testOne: 1.001
__main__.SomeTest.testTwo: 2.002
----------------------------------------------------------------------
Ran 2 tests in 3.003s
OK