class Test::Unit::TestCase + Test::Unit::Assertions
クラスの継承リスト: 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 オブジェクトを返します。
use_pp=(value)
-
出力に pp を使用するかどうかを指定します。偽を指定した場合は pp は require されません。
- [PARAM] value:
- pp を使用するかどうか。
インスタンスメソッド
assert(boolean, message = nil) -> ()
-
boolean が真ならパスします。
- [PARAM] boolean:
- 検証するオブジェクトを指定します。
- [PARAM] message:
- assert が失敗した時に表示するメッセージを文字列で指定し ます。指定しなかった場合は表示しません。
- [EXCEPTION] Test::Unit::AssertionFailedError:
- assert が失敗した時に発生します。
assert_block(message = "assert_block failed.") { ... } -> ()
-
ブロックを実行し、その結果が真ならパスします。
新しい assert メソッドを定義する時にも使います。
def deny(boolean, message = nil) message = build_message message, '<?> is not false or nil.', boolean assert_block message do not boolean end end
- [PARAM] message:
- assert が失敗した時に表示するメッセージを文字列で指定し ます。指定しなかった場合は表示しません。
- [EXCEPTION] Test::Unit::AssertionFailedError:
- assert が失敗した時に発生します。
assert_equal(expected, actual, message = nil) -> ()
-
expected == actual ならばパスします。
Test::Unit::Assertions#assert_sameとの違いに注意して下さい。
- [PARAM] expected:
- 期待するオブジェクトを指定します。
- [PARAM] actual:
- 検証するオブジェクトを指定します。
- [PARAM] message:
- assert が失敗した時に表示するメッセージを文字列で指定し ます。指定しなかった場合は表示しません。
- [EXCEPTION] Test::Unit::AssertionFailedError:
- assert が失敗した時に発生します。
[SEE_ALSO] Test::Unit::Assertions#assert_not_equal, Object#==
assert_in_delta(expected_float, actual_float, delta, message = "") -> ()
-
(expected_float.to_f - actual_float.to_f).abs <= delta.to_f が真ならパスします。
- [PARAM] expected_float:
- 期待する実数値を指定します。
- [PARAM] actual_float:
- 検証する実数値を指定します。
- [PARAM] delta:
- 許容できる誤差を正の数で指定します。
- [PARAM] message:
- assert が失敗した時に表示するメッセージを文字列で指定し ます。指定しなかった場合は表示しません。
- [EXCEPTION] Test::Unit::AssertionFailedError:
- assert が失敗した時に発生します。
assert_instance_of(klass, object, message = "") -> ()
-
object が klass の直接のインスタンスであるなら、パスします。 Object#instance_of?も参照して下さい。
- [PARAM] klass:
- 期待するクラスを指定します。
- [PARAM] object:
- 検証するオブジェクトを指定します。
- [PARAM] message:
- assert が失敗した時に表示するメッセージを文字列で指定し ます。指定しなかった場合は表示しません。
Test::Unit::Assertions#assert_kind_of との違いに注意して下さい。
- [EXCEPTION] Test::Unit::AssertionFailedError:
- assert が失敗した時に発生します。
assert_kind_of(klass, object, message = "") -> ()
-
object.kind_of?(klass) が真ならパスします。
正確には、object が klass かそのサブクラスのインスタンスであるならパスします。 また、klass がモジュールである場合は、object が klass をインクルードしたクラスかそのサブクラスの インスタンスであるならパスします。
Test::Unit::Assertions#assert_instance_of との違いに注意して下さい。
- [PARAM] klass:
- 期待するクラスかモジュールを与えます。
- [PARAM] object:
- 検証するオブジェクトを指定します。
- [PARAM] message:
- assert が失敗した時に表示するメッセージを文字列で指定し ます。指定しなかった場合は表示しません。
- [EXCEPTION] Test::Unit::AssertionFailedError:
- assert が失敗した時に発生します。
[SEE_ALSO] Object#kind_of?
assert_match(pattern, string, message = "") -> ()
-
string =~ pattern が真ならばパスします。
- [PARAM] pattern:
- 期待するパターンを文字列か正規表現で指定します。文字列を 指定した場合は内部で正規表現に変換されます。
- [PARAM] string:
- 検証する文字列を指定します。
- [PARAM] message:
- assert が失敗した時に表示するメッセージを文字列で指定し ます。指定しなかった場合は表示しません。
- [EXCEPTION] Test::Unit::AssertionFailedError:
- assert が失敗した時に発生します。
[SEE_ALSO] Test::Unit::Assertions#assert_no_match
assert_nil(object, message = "") -> ()
-
object が nil ならばパスします。
- [PARAM] object:
- 検証するオブジェクトを指定します。
- [PARAM] message:
- assert が失敗した時に表示するメッセージを文字列で指定し ます。指定しなかった場合は表示しません。
- [EXCEPTION] Test::Unit::AssertionFailedError:
- assert が失敗した時に発生します。
[SEE_ALSO] Test::Unit::Assertions#assert_not_nil
assert_no_match(regexp, string, message = "") -> ()
-
regexp !~ string が真ならばパスします。
- [PARAM] regexp:
- マッチしないと期待するパターンを正規表現で指定します。
- [PARAM] string:
- 検証する文字列を指定します。
- [PARAM] message:
- assert が失敗した時に表示するメッセージを文字列で指定し ます。指定しなかった場合は表示しません。
- [EXCEPTION] Test::Unit::AssertionFailedError:
- assert が失敗した時に発生します。
Test::Unit::Assertions#assert_match とは異なり regexp には正規表 現以外は指定できません。
assert_not_equal(expected, actual, message = "") -> ()
-
expected != actual ならばパスします。
- [PARAM] expected:
- 同じものではないと期待するオブジェクトを指定します。
- [PARAM] actual:
- 検証するオブジェクトを指定します。
- [PARAM] message:
- assert が失敗した時に表示するメッセージを文字列で指定し ます。指定しなかった場合は表示しません。
- [EXCEPTION] Test::Unit::AssertionFailedError:
- assert が失敗した時に発生します。
[SEE_ALSO] Test::Unit::Assertions#assert_equal
assert_not_nil(object, message = "") -> ()
-
object が nil でないならばパスします。
- [PARAM] object:
- 検証するオブジェクトを指定します。
- [PARAM] message:
- assert が失敗した時に表示するメッセージを文字列で指定し ます。指定しなかった場合は表示しません。
- [EXCEPTION] Test::Unit::AssertionFailedError:
- assert が失敗した時に発生します。
[SEE_ALSO] Test::Unit::Assertions#assert_nil
assert_not_same(expected, actual, message = "") -> ()
-
!actual.equal?(expected) が真ならパスします。
- [PARAM] expected:
- 期待するオブジェクトを指定します。
- [PARAM] actual:
- 検証するオブジェクトを指定します。
- [PARAM] message:
- assert が失敗した時に表示するメッセージを文字列で指定し ます。指定しなかった場合は表示しません。
- [EXCEPTION] Test::Unit::AssertionFailedError:
- assert が失敗した時に発生します。
[SEE_ALSO] Object#equal?, Test::Unit::Assertions#assert_same
assert_nothing_raised(message = "") { ... }
assert_nothing_raised(klass1, klass2, ..., message = "") { ... }
-
ブロックを実行して例外が起きなければパスします。
ブロックを実行して発生した例外が klass1, klass2, ..., のいずれかのクラスの インスタンスである場合は、assert は失敗扱いとなり、Test::Unit::AssertionFailedError を投げます。そうでない場合は、エラー扱いとなり発生した例外を再び投げます。
- [PARAM] klassX:
- 例外クラスを指定します。
- [PARAM] message:
- assert が失敗した時に表示するメッセージを文字列で指定し ます。指定しなかった場合は表示しません。
- [EXCEPTION] Test::Unit::AssertionFailedError:
- assert が失敗した時に発生します。
assert_nothing_thrown(message = "") { ... } -> ()
-
ブロックを実行して throw が起こらなければパスします。
- [PARAM] message:
- assert が失敗した時に表示するメッセージを文字列で指定し ます。指定しなかった場合は表示しません。
- [EXCEPTION] Test::Unit::AssertionFailedError:
- assert が失敗した時に発生します。
assert_operator(object1, operator, object2, message = "") -> ()
-
object1.send(operator, object2) が真ならパスします。
- [PARAM] object1:
- 検証するオブジェクトを指定します。
- [PARAM] operator:
- 検証のための演算子(メソッド)を Symbol か to_str メソッドが使用できるオブジェクトで指定します。
- [PARAM] object2:
- 検証するオブジェクトを指定します。
- [PARAM] message:
- assert が失敗した時に表示するメッセージを文字列で指定し ます。指定しなかった場合は表示しません。
- [EXCEPTION] Test::Unit::AssertionFailedError:
- assert が失敗した時に発生します。
assert_raise(message = "") { ... } -> object
assert_raise(klass1, klass2, ..., message = "") { ... } -> object
-
ブロックを実行して例外が発生し、その例外が klass1, klass2,... のいずれかのクラスのインスタンスならばパスします。
assert にパスした時は、実際に投げられた例外を返します。
- [PARAM] klassX:
- 例外クラスを指定します。
- [PARAM] message:
- assert が失敗した時に表示するメッセージを文字列で指定し ます。指定しなかった場合は表示しません。
- [EXCEPTION] Test::Unit::AssertionFailedError:
- assert が失敗した時に発生します。
assert_raises(*args, &block) -> object
-
Test::Unit::Assertions#assert_raise のエイリアスです。
- [PARAM] args:
- Test::Unit::Assertions#assert_raise にそのまま渡します。
- [EXCEPTION] Test::Unit::AssertionFailedError:
- assert が失敗した時に発生します。
[SEE_ALSO] Test::Unit::Assertions#assert_raise
assert_respond_to(object, method, message = "") -> ()
-
object.respond_to?(method) が真ならパスします。
- [PARAM] object:
- 検証するオブジェクトを指定します。
- [PARAM] method:
- 検証するメソッドを Symbol か文字列で指定します。
- [PARAM] message:
- assert が失敗した時に表示するメッセージを文字列で指定し ます。指定しなかった場合は表示しません。
- [EXCEPTION] Test::Unit::AssertionFailedError:
- assert が失敗した時に発生します。
[SEE_ALSO] Object#respond_to?
assert_same(expected, actual, message = "") -> ()
-
actual.equal?(expected) が真ならパスします。
Test::Unit::Assertions#assert_equal との違いに注意して下さい。
- [PARAM] expected:
- 期待するオブジェクトを指定します。
- [PARAM] actual:
- 検証するオブジェクトを指定します。
- [PARAM] message:
- assert が失敗した時に表示するメッセージを文字列で指定し ます。指定しなかった場合は表示しません。
- [EXCEPTION] Test::Unit::AssertionFailedError:
- assert が失敗した時に発生します。
[SEE_ALSO] Object#equal?, Test::Unit::Assertions#assert_not_same
assert_send(send_array, message = "") -> ()
-
send_array[0].__send__(send_array[1], *send_array[2..-1]) が真ならパスします。
- [PARAM] send_array:
- 検証するオブジェクトを [レシーバ、メソッド、メソッドの引数] で指定します。
- [PARAM] message:
- assert が失敗した時に表示するメッセージを文字列で指定し ます。指定しなかった場合は表示しません。
- [EXCEPTION] Test::Unit::AssertionFailedError:
- assert が失敗した時に発生します。
assert_throws(expected_symbol, message = "") { ... } -> ()
-
ブロックを実行して :expected_symbol が throw されたらパスします。
- [PARAM] expected_symbol:
- throw されると期待するシンボルを指定します。
- [PARAM] message:
- assert が失敗した時に表示するメッセージを文字列で指定し ます。指定しなかった場合は表示しません。
- [EXCEPTION] Test::Unit::AssertionFailedError:
- assert が失敗した時に発生します。
build_message(head, template = nil, *arguments)
-
テストが失敗したときに表示されるメッセージを作成します。
- [PARAM] head:
- templateから作成するメッセージの前に表示する文字列を指定します。
- [PARAM] template:
- 作成するメッセージのテンプレートを文字列で指定します。
- [PARAM] arguments:
- template 内の '?' を置き換えるオブジェクトを配列で指定します。
- [RETURN]
- 作成したメッセージをTest::Unit::Assertions::AssertionMessageの インスタンスで返します。
head は template の前に追加されます。template に指定した文字列に '?' が 含まれていた場合は、arguments に指定したオブジェクトでそれぞれ置き換え られます。
default_test -> ()
-
常に失敗するテストです。
flunk(message = "Flunked") -> ()
-
常に失敗します。
ちゃんとしたテストを書くまでの間、テストを失敗させておきたい場合などに使います。
- [PARAM] message:
- assert が失敗した時に表示するメッセージを文字列で指定し ます。指定しなかった場合は表示しません。
- [EXCEPTION] Test::Unit::AssertionFailedError:
- 常に発生します。
method_name -> String
-
自身に対応しているテストメソッドの名前を文字列で返します。
Test::Unit::TestCase#setup や Test::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 されない例外の一覧です。