##
7 TestResultオブジェクト

`TestResult`は、複数のテスト結果を記録します。`TestCase`クラ スと`TestSuite`クラスのテスト結果を正しく記録しますので、テスト開 発者が独自にテスト結果を管理する処理を開発する必要はありません。

`unittest`を利用したテストフレームワークでは、 `TestRunner.run()`が返す`TestResult`インスタンスを参照し、 テスト結果をレポートします。

以下の属性は、テストの実行結果を検査する際に使用することができます:

`errors`
  `TestCase`と例外のトレースバック情報をフォーマットした文字列の 2要素タプルからなるリスト。それぞれのタプルは予想外の例外を送出したテストに 対応します。 バージョン 2.2 で 変更 された仕様: `sys.exc_info()`の結果ではなく、 フォーマットしたトレースバックを保存

`failures`
  `TestCase`と例外のトレースバック情報をフォーマットした文字列の 2要素タプルからなるリスト。それぞれのタプルは`TestCase.fail*()`や `TestCase.assert*()`メソッドを使って見つけ出した失敗に対応します。 バージョン 2.2 で 変更 された仕様: `sys.exc_info()`の結果ではなく、フォーマット したトレースバックを保存

`testsRun`
  これまでに実行したテストの総数。

`wasSuccessful`( | )

  これまでに実行したテストが全て成功していれば`True`を、 それ以外なら`False`を返す。

`stop`( | )

  このメソッドを呼び出して`TestResult`の`shouldStop`属性 に`True`をセットすることで、実行中のテストは中断しなければな らないというシグナルを送ることができます。`TestRunner`オブジェ クトはこのフラグを尊重してそれ以上のテストを実行することなく復帰しな ければなりません。

  たとえばこの機能は、ユーザのキーボード割り込みを受け取っ て`TextTestRunner`クラスがテストフレームワークを停止させるのに 使えます。`TestRunner`の実装を提供する対話的なツールでも同じよ うに使用することができます。

以下のメソッドは内部データ管理用のメソッドですが、対話的にテスト結果をレ ポートするテストツールを開発する場合などにはサブクラスで拡張することがで きます。

`startTest`( | test)

  testを実行する直前に呼び出されます。

  デフォルトの実装では単純にインスタンスの`testRun`カウンタをイン クリメントします。

`stopTest`( | test)

  testの実行直後に、テスト結果に関わらず呼び出されます。

  デフォルトの実装では何もしません。

`addError`( | test, err)

  テストtest実行中に、想定外の例外が発生した場合に呼び出されます。 errは`sys.exc_info()`が返すタプル`(type, value, traceback)`です。

  デフォルトの実装ではインスタンスの`errors`属性 に`(test, err)`を追加します。

`addFailure`( | test, err)

  テストが失敗した場合に呼び出されます。errは `sys.exc_info()`が返すタプル`(type, value, traceback)`です。

  デフォルトの実装ではインスタンスの`failures`属性 に`(test, err)`を追加します。

`addSuccess`( | test)

  テストケースtestが成功した場合に呼び出されます。

  デフォルトの実装では何もしません。