5.3.7 TestResultオブジェクト
TestResultは、複数のテスト結果を記録します。TestCaseクラ
スとTestSuiteクラスのテスト結果を正しく記録しますので、テスト開
発者が独自にテスト結果を管理する処理を開発する必要はありません。
unittestを利用したテストフレームワークでは、
TestRunner.run()が返すTestResultインスタンスを参照し、
テスト結果をレポートします。
TestResultインスタンスは、テストの実行件数と、テスト中に発生した
失敗・エラーの情報を(testcase, traceback)
のタプルで保
持します。tracebackは例外のトレースバック情報をフォーマットした文
字列です。
以下の属性は、テストの実行結果を検査する際に使用することができます:
- errors
-
テスト中に発生した例外の内、テスト失敗ではなくエラーとなった例外の情報
のリスト。リストの要素は、TestCaseと例外のトレースバック情報を
フォーマットした文字列の組となります。
バージョン 2.2 で 変更 された仕様:
sys.exc_info()の結果ではなく、フォーマットしたトレースバッ
クを保存
- failures
-
テスト中に発生した失敗の情報のリスト。リストの要素は、TestCase
と例外のトレースバック情報をフォーマットした文字列の組となります。
バージョン 2.2 で 変更 された仕様:
sys.exc_info()の結果ではなく、フォーマット
したトレースバックを保存
- testsRun
-
開始したテストの数。
-
これまでに実行したテストが全て成功していればTrueを、それ以外ならFalse
を返す。
以下のメソッドは内部データ管理用のメソッドですが、対話的にテスト結果をレ
ポートするテストツールを開発する場合などにはサブクラスで拡張することがで
きます。
-
testを実行する直前に呼び出されます。
-
testの実行直後に、テスト結果に関わらず呼び出されます。
-
テスト実行中に、テストの失敗以外の例外が発生した場合に呼び出されます。
errはsys.exc_info()が返すタプル
(type,
value, traceback)
です。
-
テストが失敗した場合に呼び出されます。errは
sys.exc_info()が返すタプル
(type, value,
traceback)
です。
-
テストが失敗しなかった場合に呼び出されます。testには、テストケー
スオブジェクトが指定されます。
TestResultオブジェクトには、さらにもう一つのメソッドがあります:
-
テスト中断のシグナルを送ります。このメソッドが呼び出されると、テストラ
ンナーは以降のテスト実行を中止し、呼び出し元に復帰します。
TextTestRunnerではキーボードからの割り込みでテストを中断するた
めにこのメソッドを使用しており、独自のランナーを実装する場合にも同じよ
うに使用することができます。
ご意見やご指摘をお寄せになりたい方は、 このドキュメントについて... をご覧ください。