Ruby 1.8.7 リファレンスマニュアル > ライブラリ一覧 > test/unit/testcaseライブラリ > Test::Unit::TestCaseクラス

class Test::Unit::TestCase

クラスの継承リスト: Test::Unit::TestCase < Test::Unit::Assertions < Object < Kernel

要約

テストの基本単位(あるいは「テスト本体」)を表すクラスです。 テストを行うメソッド(テストメソッド)は TestCase のサブクラスのインスタンスメソッド として定義されます。テストメソッドの名前は「test」で始まっていなければなりません。 逆に、「test」で始まっているメソッドは全てテストメソッドと見なされます。 各テストメソッドは、Test::Unit::TestCase.suite により 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 オブジェクトが生成されます。 テストの実行時にはそれぞれの結果がTest::Unit::TestResultに集計されます。

特異メソッド

new(test_method_name) -> Test::Unit::TestCase

このメソッドをユーザが直接呼ぶことはありません。

test_method_name に対応した TestCase オブジェクトを生成して返します。

[PARAM] test_method_name:
テストメソッドの名前を文字列で与えます。
suite -> Test::Unit::TestSuite

「test」ではじまるインスタンスメソッド全てに対して、それぞれに対応する TestCase オブジェクトを生成し、Test::Unit::TestSuite オブジェクト としてまとめたものを返します。

「test」ではじまるインスタンスメソッドがない場合は、 Test::Unit::TestCase#default_test に対応づけされた TestCase オブ ジェクトのみを持つ、TestSuite オブジェクトを返します。

インスタンスメソッド

default_test -> ()

常に失敗するテストです。

method_name -> String

自身に対応しているテストメソッドの名前を文字列で返します。

Test::Unit::TestCase#setupTest::Unit::TestCase#teardown において、実行する(あるいは、実行した)テストメソッドの名前を知るのに 使うことができます。

name -> String

自身に対応しているテストメソッドの名前を人間が読みやすい形式で返します。

run(result) {|STARTED, name| ...}

このメソッドをユーザが直接呼ぶことはありません。

自身に対応したテストメソッドを実行して failures や errors を集計します。

[PARAM] result:
Test::Unit::TestResult オブジェクトを与えます。
setup -> ()

各テストメソッドが呼ばれる前に必ず呼ばれます。

size -> Integer

常に 1 を返します。

teardown -> ()

各テストメソッドが呼ばれた後に必ず呼ばれます。

privateメソッド

passed? -> bool

テストが成功したなら、true を返します。そうでないなら、false を返します。 Test::Unit::TestCase#teardown の中で使うことを意図されています。 テスト実行前に何を返すかは不定です。

定数

PASSTHROUGH_EXCEPTIONS

Test::Unit::TestCase#run の実行時に rescue されない例外の一覧です。

class Test::Unit::TestCase