Python unittest ランナーはすべての例外を処理します。デバッガーでそれらをキャッチしたいと思います。
unittest ランナーにテスト例外を再発生させてプロセスを終了させる方法はありますか? 自分で処理したい。
編集:解決策が見つかりました。
unittest.TestSuite を作成し、debug()を呼び出して、デバッグしたいテストを実行できます。これには、デバッガーで例外をキャッチすることも含まれます!
このパターンで簡単に実行できます。
import unittest
class DebuggableTestCase(unittest.TestCase):
@classmethod
def debugTestCase(cls):
loader = unittest.defaultTestLoader
testSuite = loader.loadTestsFromTestCase(cls)
testSuite.debug()
class MyTestCase(DebuggableTestCase):
def test_function_that_fails(self):
raise Exception('test')
if __name__ == '__main__':
MyTestCase.debugTestCase()