##
8 TestLoader オブジェクト

`TestLoader`クラスは、クラスやモジュールからテストスイートを作成す るために使用します。通常はこのクラスのインスタンスを作成する必要はなく、 `unittest`モジュールのモジュール属性`unittest.defaultTestLoader`を 共用インスタンスとして使用することができます。 ただ、サブクラスや別のインスタンスを活用すると設定可能なプロパティを カスタマイズすることもできます。

`TestLoader` オブジェクトには以下のメソッドがあります:

`loadTestsFromTestCase`( | testCaseClass)

  `TestCase`の派生クラス`testCaseClass`に含まれる全テスト ケースのスイートを返します。

`loadTestsFromModule`( | module)

  指定したモジュールに含まれる全テストケースのスイートを返します。このメ ソッドはmodule内の`TestCase`派生クラスを検索し、見つかった クラスのテストメソッドごとにクラスのインスタンスを作成します。

  警告: `TestCase`クラスを基底クラスとしてクラス階層を構築する とfixtureや補助的な関数をうまく共用することができますが、基底クラスに 直接インスタンス化できないテストメソッドがあると、この `loadTestsFromModule`を使うことができません。この場合でも、 fixtureが全て別々で定義がサブクラスにある場合は使用することができま す。

`loadTestsFromName`( | name[, module])

  文字列で指定される全テストケースを含むスイートを返します。

  nameには``ドット修飾名''でモジュールかテストケースクラス、テス トケースクラス内のメソッド、`TestSuite`インスタンスまた は`TestCase`か`TestSuite`のインスタンスを返す呼び出し可能 オブジェクトを指定します。このチェックはここで挙げた順番に行なわれます。 すなわち、候補テストケースクラス内のメソッドは「呼び出し可能オブジェクト」 としてではなく「テストケースクラス内のメソッド」として拾い出されます。

  例えば`SampleTests`モジュールに `TestCase`から派生した`SampleTestCase`クラスがあり、 `SampleTestCase`にはテストメソッド`test_one()`・ `test_two()`・`test_three()`があるとします。この場合、 nameに`'SampleTests.SampleTestCase'`と指定すると、 `SampleTestCase`の三つのテストメソッドを実行するテストスイートが 作成されます。`'SampleTests.SampleTestCase.test_two'`と指定すれ ば、`test_two()`だけを実行するテストスイートが作成されます。イ ンポートされていないモジュールやパッケージ名を含んだ名前を指定した場合 は自動的にインポートされます。

  また、moduleを指定した場合、module内のnameを取得しま す。

`loadTestsFromNames`( | names[, module])

  `loadTestsFromName()`と同じですが、名前を一つだけ指定するのでは なく、複数の名前のシーケンスを指定する事ができます。戻り値は names中の名前で指定されるテスト全てを含むテストスイートです。

`getTestCaseNames`( | testCaseClass)

  testCaseClass中の全てのメソッド名を含むソート済みシーケンスを返 します。testCaseClassは`TestCase`のサブクラスでなければな りません。

以下の属性は、サブクラス化またはインスタンスの属性値を変更し て`TestLoader`をカスタマイズする場合に使用します。

`testMethodPrefix`
  テストメソッドの名前と判断されるメソッド名の接頭語を示す文字列。デフォ ルト値は`'test'`です。

  この値は`getTestCaseNames()`と全て の`loadTestsFrom*()`メソッドに影響を与えます。

`sortTestMethodsUsing`
  `getTestCaseNames()`および全て の`loadTestsFrom*()`メソッドでメソッド名をソートする際に使用する比較関 数。デフォルト値は組み込み関数`cmp()`です。ソートを行なわないように この属性に`None`を指定することもできます。

`suiteClass`
  テストのリストからテストスイートを構築する呼び出し可能オブジェクト。メ ソッドを持つ必要はありません。デフォルト値は`TestSuite`です。

  この値は全ての`loadTestsFrom*()`メソッドに影響を与えます。