##
5.3.4 クラスと関数

class `TestCase`( | )

  `TestCase`クラスのインスタンスは、テストの最小実行単位を示しま す。このクラスをベースクラスとして使用し、必要なテストを具象サブクラス に実装します。`TestCase`クラスでは、テストランナーがテストを実行 するためのインターフェースと、各種のチェックやテスト失敗をレポートする ためのメソッドを実装しています。

class `FunctionTestCase`( | testFunc[, setUp[, tearDown[, description]]])

  このクラスでは`TestCase`インターフェースの内、テストランナーがテ ストを実行するためのインターフェースだけを実装しており、テスト結果のチ ェックやレポートに関するメソッドは実装していません。既存のテストコード を`unittest`によるテストフレームワークに組み込むために使用し ます。

class `TestSuite`( | [tests])

  このクラスは、個々のテストケースやテストスイートの集約を示します。通常 のテストケースと同じようにテストランナーで実行すると、テストスイート内 の全てのテストケースとテストスイートを実行します。テストケース・テスト スイートを追加するためのメソッドを用意しています。testsには、ス イートに追加するテストのシーケンスを指定する事ができます。

class `TestLoader`( | )

  モジュールまたは`TestCase`クラスから、指定した条件に従ってテスト をロードし、`TestSuite`にラップして返します。モジュールからテス トをロードする場合、全ての`TestCase`派生クラスを抽出し、名前が "`test`"で始まる全てのメソッドのインスタンスを作成します。

`defaultTestLoader`
  `TestLoader`のインスタンスで、共用する事ができます。 `TestLoader`をカスタマイズする必要がなければ、新しい `TestLoader`オブジェクトを作らずにこのインスタンスを使用します。

class `TextTestRunner`( | [stream[, descriptions[, verbosity]]])

  実行結果を標準結果に出力する、単純なテストランナー。いくつかの設定項目 がありますが、非常に単純です。グラフィカルなテスト実行アプリケーション では、独自のテストランナーを作成してください。

`main`( | [module[, defaultTest[, argv[, testRunner[, testRunner]]]]])

  テストを実行するためのコマンドラインプログラム。この関数を使えば、次の ように簡単に実行可能なテストモジュールを作成する事ができます。

      if __name__ == '__main__':
          unittest.main()

場合によっては、`doctest` モジュールを使って書かれた 既存のテストがあります。その場合、モジュールは 既存のテストコードから `unittest.TestSuite` インスタンスを 自動的に構築できる `DocTestSuite` クラスを提供します。 バージョン2.3 以降で新規追加された 仕様です。