Ruby 1.9.3 リファレンスマニュアル > ライブラリ一覧 > minitest/unitライブラリ > MiniTest::Assertionsモジュール

module MiniTest::Assertions

クラスの継承リスト: MiniTest::Assertions

要約

各種 assert メソッドを提供します。

目次

インスタンスメソッド
_assertions _assertions= assert assert_block assert_empty assert_equal assert_in_delta assert_in_epsilon assert_includes assert_instance_of assert_kind_of assert_match assert_nil assert_operator assert_raises assert_respond_to assert_same assert_send assert_throws capture_io exception_details flunk message mu_pp pass skip

インスタンスメソッド

_assertions -> Fixnum[permalink][rdoc]

アサーション数を返します。

_assertions=(count)[permalink][rdoc]

アサーション数をセットします。

[PARAM] count:
件数を指定します。
assert(test, message = nil) -> true[permalink][rdoc]

与えられた式の評価結果が真である場合、検査にパスしたことになります。

[PARAM] test:
真偽値を返す式を指定します。
[PARAM] message:
検査に失敗した場合に表示するメッセージを指定します。 文字列か Proc を指定します。Proc である場合は Proc#call した 結果を使用します。
[EXCEPTION] MiniTest::Assertion:
与えられた式が偽である場合に発生します。
assert_block(message = nil) { ... } -> true[permalink][rdoc]

与えられたブロックの評価結果が真である場合、検査にパスしたことになります。

[PARAM] message:
検査に失敗した場合に表示するメッセージを指定します。 文字列か Proc を指定します。Proc である場合は Proc#call した 結果を使用します。
[EXCEPTION] MiniTest::Assertion:
与えられたブロックの評価結果が偽である場合に発生します。
assert_empty(object, message = nil) -> true[permalink][rdoc]

与えられたオブジェクトが空である場合、検査にパスしたことになります。

[PARAM] object:
任意のオブジェクトを指定します。
[PARAM] message:
検査に失敗した場合に表示するメッセージを指定します。 文字列か Proc を指定します。Proc である場合は Proc#call した 結果を使用します。
[EXCEPTION] MiniTest::Assertion:
与えられたオブジェクトが empty? メソッドを持たない場合に発生します。 また、与えられたオブジェクトが空でない場合にも発生します。
assert_equal(expected, actual, message = nil) -> true[permalink][rdoc]

与えられた期待値と実際の値が等しい場合、検査にパスしたことになります。

[PARAM] expected:
期待値を指定します。
[PARAM] actual:
実際の値を指定します。
[PARAM] message:
検査に失敗した場合に表示するメッセージを指定します。 文字列か Proc を指定します。Proc である場合は Proc#call した 結果を使用します。
[EXCEPTION] MiniTest::Assertion:
与えられた期待値と実際の値が等しくない場合に発生します。

[SEE_ALSO] Object#==

assert_in_delta(expected, actual, delta = 0.001, message = nil) -> true[permalink][rdoc]

期待値と実際の値の差の絶対値が与えられた絶対誤差以下である場合、検査にパスしたことになります。

[PARAM] expected:
期待値を指定します。
[PARAM] actual:
実際の値を指定します。
[PARAM] delta:
許容する絶対誤差を指定します。
[PARAM] message:
検査に失敗した場合に表示するメッセージを指定します。 文字列か Proc を指定します。Proc である場合は Proc#call した 結果を使用します。
[EXCEPTION] MiniTest::Assertion:
与えられた期待値と実際の値の差の絶対値が与えられた差分を越える場合に発生します。
assert_in_epsilon(actual, expected, epsilon = 0.001, message = nil) -> true[permalink][rdoc]

与えられた期待値と実際の値の相対誤差が許容範囲内である場合、検査にパスしたことになります。

言い換えると以下の式が真である場合、検査をパスします。

[expected, actual].min * epsilon >= (extected - actual).abs
[PARAM] expected:
期待値を指定します。
[PARAM] actual:
実際の値を指定します。
[PARAM] epsilon:
許容する相対誤差を指定します。
[PARAM] message:
検査に失敗した場合に表示するメッセージを指定します。 文字列か Proc を指定します。Proc である場合は Proc#call した 結果を使用します。
[EXCEPTION] MiniTest::Assertion:
検査に失敗した場合に発生します。
assert_includes(collection, object, message = nil) -> true[permalink][rdoc]

与えられたコレクションにオブジェクトが含まれている場合、検査にパスしたことになります。

[PARAM] collection:
任意のコレクションを指定します。
[PARAM] object:
任意のオブジェクトを指定します。
[PARAM] message:
検査に失敗した場合に表示するメッセージを指定します。 文字列か Proc を指定します。Proc である場合は Proc#call した 結果を使用します。
[EXCEPTION] MiniTest::Assertion:
第一引数のオブジェクトが include? メソッドを持たない場合に発生します。 与えられたコレクションにオブジェクトが含まれていない場合に発生します。
assert_instance_of(klass, object, message = nil) -> true[permalink][rdoc]

与えられたオブジェクトが与えられたクラスの直接のインスタンスである場合、検査にパスしたことになります。

[PARAM] klass:
オブジェクトが直接のインタンスであることを期待するクラスを指定します。
[PARAM] object:
任意のオブジェクトを指定します。
[PARAM] message:
検査に失敗した場合に表示するメッセージを指定します。 文字列か Proc を指定します。Proc である場合は Proc#call した 結果を使用します。
[EXCEPTION] MiniTest::Assertion:
与えられたオブジェクトが与えられたクラスの直接のインスタンスでない 場合に発生します。

[SEE_ALSO] Module#===, MiniTest::Assertions#assert_kind_of

assert_kind_of(klass, object, message) -> true[permalink][rdoc]

与えられたオブジェクトが与えられたクラスまたはそのサブクラスのインスタンス である場合、検査にパスしたことになります。

[PARAM] klass:
オブジェクトが所属することを期待するクラスを指定します。
[PARAM] object:
任意のオブジェクトを指定します。
[PARAM] message:
検査に失敗した場合に表示するメッセージを指定します。 文字列か Proc を指定します。Proc である場合は Proc#call した 結果を使用します。
[EXCEPTION] MiniTest::Assertion:
与えられたオブジェクトが与えられたクラスまたはそのサブクラスの インスタンスではない場合に発生します。

[SEE_ALSO] Object#kind_of?, MiniTest::Assertions#assert_instance_of

assert_match(regexp, str, message = nil) -> true[permalink][rdoc]

与えられた文字列が与えられた正規表現にマッチした場合、検査にパスしたことになります。

[PARAM] regexp:
正規表現か文字列を指定します。文字列を指定した場合は文字列そのものにマッチする 正規表現に変換してから使用します。
[PARAM] str:
検査対象の文字列を指定します。
[PARAM] message:
検査に失敗した場合に表示するメッセージを指定します。 文字列か Proc を指定します。Proc である場合は Proc#call した 結果を使用します。
[EXCEPTION] MiniTest::Assertion:
与えられた文字列が与えられた正規表現にマッチしなかった場合に発生します。
assert_nil(object, message = nil) -> true[permalink][rdoc]

与えられたオブジェクトが nil である場合、検査にパスしたことになります。

[PARAM] object:
任意のオブジェクトを指定します。
[PARAM] message:
検査に失敗した場合に表示するメッセージを指定します。 文字列か Proc を指定します。Proc である場合は Proc#call した 結果を使用します。
[EXCEPTION] MiniTest::Assertion:
与えられたオブジェクトが nil でない場合に発生します。
assert_operator(operand1, operator, operand2, message = nil) -> true[permalink][rdoc]

与えられたオブジェクトから作成する式を評価した結果が真を返す場合、検査にパスしたことになります。

[PARAM] operand1:
任意のオブジェクトを指定します。
[PARAM] operator:
真偽値を返すメソッドを指定します。
[PARAM] operand2:
任意のオブジェクトを指定します。
[PARAM] message:
検査に失敗した場合に表示するメッセージを指定します。 文字列か Proc を指定します。Proc である場合は Proc#call した 結果を使用します。
[EXCEPTION] MiniTest::Assertion:
与えられたオブジェクトから作成する式を評価した結果が真でない場合に発生します。

例:

# 以下の二つは同じ
assert_operator('aaa', :==, 'aaa', 'message')
assert('aaa'.__send__(:==, 'aaa'), 'message')
assert_raises(*args) { ... } -> true[permalink][rdoc]

与えられたブロックを評価中に与えられた例外が発生する場合、検査にパスしたことになります。

[PARAM] args:
与えられたブロックを評価中に発生する可能性のある例外クラスを一つ以上指定します。 最後の引数は、メッセージを指定することができます。
[EXCEPTION] MiniTest::Assertion:
与えられたブロックを評価した結果、例外が発生しない場合に発生します。 また、与えられたブロックを評価中に発生した例外が、与えられた例外 またはそのサブクラスでない場合に発生します。
assert_respond_to(object, method_name, message = nil) -> true[permalink][rdoc]

与えられたオブジェクトが与えられたメソッドを持つ場合、検査にパスしたことになります。

[PARAM] object:
任意のオブジェクトを指定します。
[PARAM] method_name:
メソッド名を指定します。
[PARAM] message:
検査に失敗した場合に表示するメッセージを指定します。 文字列か Proc を指定します。Proc である場合は Proc#call した 結果を使用します。
[EXCEPTION] MiniTest::Assertion:
与えられたオブジェクトが与えられたメソッドを持たない場合に発生します。

[SEE_ALSO] Object#respond_to?

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

与えられた二つのオブジェクトの Object#object_id が同じ場合、検査にパスしたことになります。

[PARAM] expected:
任意のオブジェクトを指定します。
[PARAM] actual:
任意のオブジェクトを指定します。
[PARAM] message:
検査に失敗した場合に表示するメッセージを指定します。 文字列か Proc を指定します。Proc である場合は Proc#call した 結果を使用します。
[EXCEPTION] MiniTest::Assertion:
与えられた二つのオブジェクトが異なる場合に発生します。

[SEE_ALSO] Object#equal?

assert_send(array, message = nil) -> true[permalink][rdoc]

引数から、式を取り出して評価した結果が真の場合、検査にパスしたことになります。

[PARAM] array:
第一要素にレシーバとなる任意のオブジェクト、第二要素にメソッド名、 第三要素にパラメータをそれぞれ指定した配列を指定します。
[PARAM] message:
検査に失敗した場合に表示するメッセージを指定します。 文字列か Proc を指定します。Proc である場合は Proc#call した 結果を使用します。
[EXCEPTION] MiniTest::Assertion:
取り出した式が偽を返す場合に発生します。

例:

assert_send([%w[foo bar baz], :include?, 'baz'])
assert_throws(tag, message = nil) { ... } -> true[permalink][rdoc]

与えられたブロックを評価中に、与えられたタグが Kernel.#throw された場合、検査にパスしたことになります。

[PARAM] tag:
与えられたブロック評価中に Kernel.#throw されるタグを任意のオブジェクトとして指定します。
[PARAM] message:
検査に失敗した場合に表示するメッセージを指定します。 文字列か Proc を指定します。Proc である場合は Proc#call した 結果を使用します。
[EXCEPTION] MiniTest::Assertion:
与えられたタグが Kernel.#throw されなかった場合に発生します。

[SEE_ALSO] Kernel.#throw

capture_io { ... } -> Array[permalink][rdoc]

与えられたブロックを評価中の標準出力と標準エラー出力を StringIO に 変更します。

[RETURN]
ブロック評価中に出力された文字列を標準出力を第一要素、標準エラー出力を第二要素とした 配列にして返します。
exception_details(exception, message) -> String[permalink][rdoc]

与えられた例外の詳細を文字列として返します。

[PARAM] exception:
例外を指定します。
[PARAM] message:
メッセージを指定します。
flunk(message = nil)[permalink][rdoc]

必ず失敗するメソッドです。

[PARAM] message:
メッセージを指定します。
[EXCEPTION] MiniTest::Assertion:
必ず発生します。
message(message) { ... } -> Proc[permalink][rdoc]

与えられたブロックを評価した結果と与えられたメッセージを連結して返します。

[PARAM] message:
メッセージを指定します。
mu_pp(object) -> String[permalink][rdoc]

Object#inspect した結果のエンコーディングを変更して返します。

エンコーディングは Encoding.default_external に変更されます。

[PARAM] object:
任意のオブジェクトを指定します。
pass(message = nil) -> true[permalink][rdoc]

アサーション数をカウントするために使用します。

[PARAM] message:
無視されます。
skip(message = nil, backtrace = caller)[permalink][rdoc]

このメソッドを呼び出したテストメソッドをスキップします。

[PARAM] message:
メッセージを指定します。
[PARAM] backtrace:
例外発生時のスタックトレースで、Kernel.#caller の戻り値と同じ 形式で指定しなければいけません。
[EXCEPTION] MiniTest::Skip:
必ず発生します。

[SEE_ALSO] Kernel.#raise