このマニュアルは既にメンテナンスが終了したバージョンの Ruby を対象としています。 最新版のマニュアルへ

Ruby 2.0.0 リファレンスマニュアル

module Test::Unit::Assertions

要約

各種の assert メソッドを提供するモジュールです。

Test::Unit::TestCase に include されて使われます。 test/unit の他のクラスとは独立して、提供されている assert メソッドだけを使うこともできます。 assert_block メソッドを使うことにより、新しい assert メソッドを加えることもできます。

assert が失敗した時は、例外 MiniTest::Assertion を投げます。各 assert メソッドの最後の引数 message はテストが失敗したときに表示されるメッセージです。

目次

インスタンスメソッド

継承しているメソッド

MiniTest::Assertionsから継承しているメソッド

インスタンスメソッド

assert_equal(expected, actual, message = nil) -> ()[permalink][rdoc]

expected == actual ならばパスします。

MiniTest::Assertions#assert_sameとの違いに注意して下さい。

[PARAM] expected:
期待するオブジェクトを指定します。
[PARAM] actual:
検証するオブジェクトを指定します。
[PARAM] message:
assert が失敗した時に表示するメッセージを文字列で指定します。指定しなかった場合は表示しません。
[EXCEPTION] MiniTest::Assertion:
assert が失敗した時に発生します。

[SEE_ALSO] Test::Unit::Assertions#assert_not_equal, Object#==

assert_no_match(regexp, string, message = "") -> ()[permalink][rdoc]

regexp !~ string が真ならばパスします。

[PARAM] regexp:
マッチしないと期待するパターンを正規表現で指定します。
[PARAM] string:
検証する文字列を指定します。
[PARAM] message:
assert が失敗した時に表示するメッセージを文字列で指定します。指定しなかった場合は表示しません。
[EXCEPTION] MiniTest::Assertion:
assert が失敗した時に発生します。

MiniTest::Assertions#assert_match とは異なり regexp には正規表現以外は指定できません。

assert_not_equal(expected, actual, message = "") -> ()[permalink][rdoc]

expected != actual ならばパスします。

[PARAM] expected:
同じものではないと期待するオブジェクトを指定します。
[PARAM] actual:
検証するオブジェクトを指定します。
[PARAM] message:
assert が失敗した時に表示するメッセージを文字列で指定します。指定しなかった場合は表示しません。
[EXCEPTION] MiniTest::Assertion:
assert が失敗した時に発生します。

[SEE_ALSO] Test::Unit::Assertions#assert_equal

assert_not_nil(object, message = "") -> ()[permalink][rdoc]

object が nil でないならばパスします。

[PARAM] object:
検証するオブジェクトを指定します。
[PARAM] message:
assert が失敗した時に表示するメッセージを文字列で指定します。指定しなかった場合は表示しません。
[EXCEPTION] MiniTest::Assertion:
assert が失敗した時に発生します。

[SEE_ALSO] MiniTest::Assertions#assert_nil

assert_not_same(expected, actual, message = "") -> ()[permalink][rdoc]

!actual.equal?(expected) が真ならパスします。

[PARAM] expected:
期待するオブジェクトを指定します。
[PARAM] actual:
検証するオブジェクトを指定します。
[PARAM] message:
assert が失敗した時に表示するメッセージを文字列で指定します。指定しなかった場合は表示しません。
[EXCEPTION] MiniTest::Assertion:
assert が失敗した時に発生します。

[SEE_ALSO] Object#equal?, MiniTest::Assertions#assert_same

assert_nothing_raised(message = "") { ... }[permalink][rdoc]
assert_nothing_raised(klass1, klass2, ..., message = "") { ... }

ブロックを実行して例外が起きなければパスします。

ブロックを実行して発生した例外が klass1, klass2, ..., のいずれかのクラスのインスタンスである場合は、assert は失敗扱いとなり、Test::Unit::AssertionFailedError を投げます。そうでない場合は、エラー扱いとなり発生した例外を再び投げます。

[PARAM] klassX:
例外クラスを指定します。
[PARAM] message:
assert が失敗した時に表示するメッセージを文字列で指定します。指定しなかった場合は表示しません。
[EXCEPTION] MiniTest::Assertion:
assert が失敗した時に発生します。
assert_nothing_thrown(message = "") { ... } -> ()[permalink][rdoc]

ブロックを実行して throw が起こらなければパスします。

[PARAM] message:
assert が失敗した時に表示するメッセージを文字列で指定します。指定しなかった場合は表示しません。
[EXCEPTION] MiniTest::Assertion:
assert が失敗した時に発生します。
assert_raise(message = "") { ... } -> object[permalink][rdoc]
assert_raise(klass1, klass2, ..., message = "") { ... } -> object

ブロックを実行して例外が発生し、その例外が klass1, klass2,... のいずれかのクラスのインスタンスならばパスします。

assert にパスした時は、実際に投げられた例外を返します。

[PARAM] klassX:
例外クラスを指定します。
[PARAM] message:
assert が失敗した時に表示するメッセージを文字列で指定します。指定しなかった場合は表示しません。
[EXCEPTION] MiniTest::Assertion:
assert が失敗した時に発生します。
build_message(head, template = nil, *arguments)[permalink][rdoc]

テストが失敗したときに表示されるメッセージを作成します。

[PARAM] head:
templateから作成するメッセージの前に表示する文字列を指定します。
[PARAM] template:
作成するメッセージのテンプレートを文字列で指定します。
[PARAM] arguments:
template 内の '?' を置き換えるオブジェクトを配列で指定します。
[RETURN]
作成したメッセージをTest::Unit::Assertions::AssertionMessageのインスタンスで返します。

head は template の前に追加されます。template に指定した文字列に '?' が含まれていた場合は、arguments に指定したオブジェクトでそれぞれ置き換えられます。

mu_pp(obj) -> String[permalink][rdoc]

obj を人間が読みやすい形の文字列表現にして返します。

[PARAM] obj:
任意のオブジェクト
[RETURN]
obj を人間が読みやすい形式にした文字列