5.3.4 クラスと関数

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

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

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

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

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

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

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

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

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

ご意見やご指摘をお寄せになりたい方は、 このドキュメントについて... をご覧ください。