superclass=Object
type=class
library=test.unit.testcase
extended=
included=Test=Unit=Assertions

テストの基本単位(あるいは「テスト本体」)を表すクラスです。
テストを行うメソッド(テストメソッド)は TestCase のサブクラスのインスタンスメソッド
として定義されます。テストメソッドの名前は「test」で始まっていなければなりません。
逆に、「test」で始まっているメソッドは全てテストメソッドと見なされます。
各テストメソッドは、[[m:Test::Unit::TestCase.suite]] により [[c:Test::Unit::TestSuite]]
オブジェクトへとひとつにまとめられます。

 require 'test/unit'
 require 'test/unit/ui/console/testrunner'
 
 class TC_String < Test::Unit::TestCase
   def test_size
     assert_equal('abc'.size, 3)
   end

   def test_concat
     assert_raise(TypeError) do
       'abc' + 1
     end
   end
 end
 
 suite = TC_String.suite
 Test::Unit::UI::Console::TestRunner.run(suite)

各 TestCase オブジェクトは、ひとつのテストメソッドに対応しています。テストが実行される時には、
テストメソッドの数だけ TestCase オブジェクトが生成されます。

Ties everything together. If you subclass and add your own test methods, it takes care of making them into tests and wrapping those tests into a suite. It also does the nitty-gritty of actually running an individual test and collecting its results into a [[c:Test::Unit::TestResult]] object.
