testモジュールのtest_supportを使えば、重いテストが一目瞭然

unittest.mainをテストランナーに使うと、途中経過では'.'が書き込まれるだけで、どこのテストの実行で詰まっているのか、よくわかりません。test_support.run_unittestはテストクラスの登録は手動にはなりますが、現在実行中のテストメソッドが何なのか知らせてくれます。

検証に使ったコードは次の通りです。

from test import test_support
from unittest import TestCase, main
import time
class ATests(TestCase):
  def test_a(self): time.sleep(1)
  def test_b(self): pass
class BTests(TestCase):
  def test_a(self): time.sleep(4)
  def test_b(self): pass
  def test_c(self): time.sleep(1)
test_support.run_unittest(ATests, BTests)
#main()