##
5.3.8 TestLoader オブジェクト

`TestLoader`クラスは、クラスやモジュールからテストスイートを作成す るために使用します。通常はこのクラスのインスタンスを作成する必要はなく、 `unittest`モジュールのモジュール属性`defaultTestLoader`を 共用インスタンスとして使用することができます。

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

`loadTestsFromTestCase`( | testCaseClass)

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

`loadTestsFromModule`( | module)

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

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

`loadTestsFromName`( | name[, module])

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

  nameには``ドット修飾名''でモジュールかテストケースクラス、または `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中の全てのメソッド名を含むソート済みシーケンスを返 します。

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

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

`sortTestMethodsUsing`
  `getTestCaseNames()`でメソッド名をソートする際に使用する比較関 数。デフォルト値は組み込み関数`cmp()`です。`None`を指定 するとソートを行いません。

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