class Test::Unit::TestCase + MiniTest::Assertions + MiniTest::Unit::TestCase + MiniTest::Assertions
クラスの継承リスト: Test::Unit::TestCase < MiniTest::Assertions < MiniTest::Unit::TestCase < MiniTest::Assertions < Object < Kernel < BasicObject
要約
テストの基本単位(あるいは「テスト本体」)を表すクラスです。 テストを行うメソッド(テストメソッド)は TestCase のサブクラスのインスタンスメソッド として定義されます。テストメソッドの名前は「test」で始まっていなければなりません。 逆に、「test」で始まっているメソッドは全てテストメソッドと見なされます。
require 'test/unit' 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
各 TestCase オブジェクトは、ひとつのテストメソッドに対応しています。テストが実行される時には、 テストメソッドの数だけ TestCase オブジェクトが生成されます。
特異メソッド
inherited(klass)
-
テストクラス名をテストスイート登録します。
new(name)
-
自身を初期化します。
- [PARAM] name:
- 自身の名前を指定します。
reset
-
テストスイートをクリアします。
test_methods -> Array
-
テストメソッドのリストを返します。
MiniTest::Unit::TestCase.test_order の値が :random である場合は 返されるメソッドリストの順番はランダムです。 そうでない場合は、文字コード順にソートされます。
test_order -> Symbol
-
テストの実行順序を返します。
test_order -> Symbol
-
テストの実行順序を返します。
デフォルトはランダムです。
test_suites -> Array
-
テストクラス名のリストを返します。
インスタンスメソッド
__name__ -> String
-
自身の名前を返します。
_assertions -> Fixnum
-
アサーション数を返します。
_assertions -> Fixnum
-
アサーション数を返します。
_assertions=(count)
-
アサーション数をセットします。
- [PARAM] count:
- 件数を指定します。
_assertions=(count)
-
アサーション数をセットします。
- [PARAM] count:
- 件数を指定します。
assert(test, message = nil) -> true
-
与えられた式の評価結果が真である場合、検査にパスしたことになります。
assert(test, message = nil) -> true
-
与えられた式の評価結果が真である場合、検査にパスしたことになります。
assert_block(message = nil) { ... } -> true
-
与えられたブロックの評価結果が真である場合、検査にパスしたことになります。
assert_block(message = nil) { ... } -> true
-
与えられたブロックの評価結果が真である場合、検査にパスしたことになります。
assert_empty(object, message = nil) -> true
-
与えられたオブジェクトが空である場合、検査にパスしたことになります。
assert_empty(object, message = nil) -> true
-
与えられたオブジェクトが空である場合、検査にパスしたことになります。
assert_equal(expected, actual, message = nil) -> true
-
与えられた期待値と実際の値が等しい場合、検査にパスしたことになります。
- [PARAM] expected:
- 期待値を指定します。
- [PARAM] actual:
- 実際の値を指定します。
- [PARAM] message:
- 検査に失敗した場合に表示するメッセージを指定します。 文字列か Proc を指定します。Proc である場合は Proc#call した 結果を使用します。
- [EXCEPTION] MiniTest::Assertion:
- 与えられた期待値と実際の値が等しくない場合に発生します。
[SEE_ALSO] Object#==
assert_equal(expected, actual, message = nil) -> true
-
与えられた期待値と実際の値が等しい場合、検査にパスしたことになります。
- [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
-
期待値と実際の値の差の絶対値が与えられた絶対誤差以下である場合、検査にパスしたことになります。
assert_in_delta(expected, actual, delta = 0.001, message = nil) -> true
-
期待値と実際の値の差の絶対値が与えられた絶対誤差以下である場合、検査にパスしたことになります。
assert_in_epsilon(actual, expected, epsilon = 0.001, message = nil) -> true
-
与えられた期待値と実際の値の相対誤差が許容範囲内である場合、検査にパスしたことになります。
言い換えると以下の式が真である場合、検査をパスします。
[expected, actual].min * epsilon >= (extected - actual).abs
assert_in_epsilon(actual, expected, epsilon = 0.001, message = nil) -> true
-
与えられた期待値と実際の値の相対誤差が許容範囲内である場合、検査にパスしたことになります。
言い換えると以下の式が真である場合、検査をパスします。
[expected, actual].min * epsilon >= (extected - actual).abs
assert_includes(collection, object, message = nil) -> true
-
与えられたコレクションにオブジェクトが含まれている場合、検査にパスしたことになります。
assert_includes(collection, object, message = nil) -> true
-
与えられたコレクションにオブジェクトが含まれている場合、検査にパスしたことになります。
assert_instance_of(klass, object, message = nil) -> true
-
与えられたオブジェクトが与えられたクラスの直接のインスタンスである場合、検査にパスしたことになります。
- [PARAM] klass:
- オブジェクトが直接のインタンスであることを期待するクラスを指定します。
- [PARAM] object:
- 任意のオブジェクトを指定します。
- [PARAM] message:
- 検査に失敗した場合に表示するメッセージを指定します。 文字列か Proc を指定します。Proc である場合は Proc#call した 結果を使用します。
- [EXCEPTION] MiniTest::Assertion:
- 与えられたオブジェクトが与えられたクラスの直接のインスタンスでない 場合に発生します。
[SEE_ALSO] Module#===, MiniTest::Assertions#assert_kind_of
assert_instance_of(klass, object, message = nil) -> true
-
与えられたオブジェクトが与えられたクラスの直接のインスタンスである場合、検査にパスしたことになります。
- [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
-
与えられたオブジェクトが与えられたクラスまたはそのサブクラスのインスタンス である場合、検査にパスしたことになります。
- [PARAM] klass:
- オブジェクトが所属することを期待するクラスを指定します。
- [PARAM] object:
- 任意のオブジェクトを指定します。
- [PARAM] message:
- 検査に失敗した場合に表示するメッセージを指定します。 文字列か Proc を指定します。Proc である場合は Proc#call した 結果を使用します。
- [EXCEPTION] MiniTest::Assertion:
- 与えられたオブジェクトが与えられたクラスまたはそのサブクラスの インスタンスではない場合に発生します。
[SEE_ALSO] Object#kind_of?, MiniTest::Assertions#assert_instance_of
assert_kind_of(klass, object, message) -> true
-
与えられたオブジェクトが与えられたクラスまたはそのサブクラスのインスタンス である場合、検査にパスしたことになります。
- [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
-
与えられた文字列が与えられた正規表現にマッチした場合、検査にパスしたことになります。
assert_match(regexp, str, message = nil) -> true
-
与えられた文字列が与えられた正規表現にマッチした場合、検査にパスしたことになります。
assert_nil(object, message = nil) -> true
-
与えられたオブジェクトが nil である場合、検査にパスしたことになります。
assert_nil(object, message = nil) -> true
-
与えられたオブジェクトが nil である場合、検査にパスしたことになります。
assert_operator(operand1, operator, operand2, message = nil) -> true
-
与えられたオブジェクトから作成する式を評価した結果が真を返す場合、検査にパスしたことになります。
- [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_operator(operand1, operator, operand2, message = nil) -> true
-
与えられたオブジェクトから作成する式を評価した結果が真を返す場合、検査にパスしたことになります。
- [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
-
与えられたブロックを評価中に与えられた例外が発生する場合、検査にパスしたことになります。
- [PARAM] args:
- 与えられたブロックを評価中に発生する可能性のある例外クラスを一つ以上指定します。 最後の引数は、メッセージを指定することができます。
- [EXCEPTION] MiniTest::Assertion:
- 与えられたブロックを評価した結果、例外が発生しない場合に発生します。 また、与えられたブロックを評価中に発生した例外が、与えられた例外 またはそのサブクラスでない場合に発生します。
assert_raises(*args) { ... } -> true
-
与えられたブロックを評価中に与えられた例外が発生する場合、検査にパスしたことになります。
- [PARAM] args:
- 与えられたブロックを評価中に発生する可能性のある例外クラスを一つ以上指定します。 最後の引数は、メッセージを指定することができます。
- [EXCEPTION] MiniTest::Assertion:
- 与えられたブロックを評価した結果、例外が発生しない場合に発生します。 また、与えられたブロックを評価中に発生した例外が、与えられた例外 またはそのサブクラスでない場合に発生します。
assert_respond_to(object, method_name, message = nil) -> true
-
与えられたオブジェクトが与えられたメソッドを持つ場合、検査にパスしたことになります。
- [PARAM] object:
- 任意のオブジェクトを指定します。
- [PARAM] method_name:
- メソッド名を指定します。
- [PARAM] message:
- 検査に失敗した場合に表示するメッセージを指定します。 文字列か Proc を指定します。Proc である場合は Proc#call した 結果を使用します。
- [EXCEPTION] MiniTest::Assertion:
- 与えられたオブジェクトが与えられたメソッドを持たない場合に発生します。
[SEE_ALSO] Object#respond_to?
assert_respond_to(object, method_name, message = nil) -> true
-
与えられたオブジェクトが与えられたメソッドを持つ場合、検査にパスしたことになります。
- [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
-
与えられた二つのオブジェクトの Object#object_id が同じ場合、検査にパスしたことになります。
- [PARAM] expected:
- 任意のオブジェクトを指定します。
- [PARAM] actual:
- 任意のオブジェクトを指定します。
- [PARAM] message:
- 検査に失敗した場合に表示するメッセージを指定します。 文字列か Proc を指定します。Proc である場合は Proc#call した 結果を使用します。
- [EXCEPTION] MiniTest::Assertion:
- 与えられた二つのオブジェクトが異なる場合に発生します。
[SEE_ALSO] Object#equal?
assert_same(expected, actual, message = nil) -> true
-
与えられた二つのオブジェクトの 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
-
引数から、式を取り出して評価した結果が真の場合、検査にパスしたことになります。
- [PARAM] array:
- 第一要素にレシーバとなる任意のオブジェクト、第二要素にメソッド名、 第三要素にパラメータをそれぞれ指定した配列を指定します。
- [PARAM] message:
- 検査に失敗した場合に表示するメッセージを指定します。 文字列か Proc を指定します。Proc である場合は Proc#call した 結果を使用します。
- [EXCEPTION] MiniTest::Assertion:
- 取り出した式が偽を返す場合に発生します。
例:
assert_send([%w[foo bar baz], :include?, 'baz'])
assert_send(array, message = nil) -> true
-
引数から、式を取り出して評価した結果が真の場合、検査にパスしたことになります。
- [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
-
与えられたブロックを評価中に、与えられたタグが Kernel.#throw された場合、検査にパスしたことになります。
- [PARAM] tag:
- 与えられたブロック評価中に Kernel.#throw されるタグを任意のオブジェクトとして指定します。
- [PARAM] message:
- 検査に失敗した場合に表示するメッセージを指定します。 文字列か Proc を指定します。Proc である場合は Proc#call した 結果を使用します。
- [EXCEPTION] MiniTest::Assertion:
- 与えられたタグが Kernel.#throw されなかった場合に発生します。
[SEE_ALSO] Kernel.#throw
assert_throws(tag, message = nil) { ... } -> true
-
与えられたブロックを評価中に、与えられたタグが Kernel.#throw された場合、検査にパスしたことになります。
- [PARAM] tag:
- 与えられたブロック評価中に Kernel.#throw されるタグを任意のオブジェクトとして指定します。
- [PARAM] message:
- 検査に失敗した場合に表示するメッセージを指定します。 文字列か Proc を指定します。Proc である場合は Proc#call した 結果を使用します。
- [EXCEPTION] MiniTest::Assertion:
- 与えられたタグが Kernel.#throw されなかった場合に発生します。
[SEE_ALSO] Kernel.#throw
capture_io { ... } -> Array
-
与えられたブロックを評価中の標準出力と標準エラー出力を StringIO に 変更します。
- [RETURN]
- ブロック評価中に出力された文字列を標準出力を第一要素、標準エラー出力を第二要素とした 配列にして返します。
capture_io { ... } -> Array
-
与えられたブロックを評価中の標準出力と標準エラー出力を StringIO に 変更します。
- [RETURN]
- ブロック評価中に出力された文字列を標準出力を第一要素、標準エラー出力を第二要素とした 配列にして返します。
exception_details(exception, message) -> String
-
与えられた例外の詳細を文字列として返します。
- [PARAM] exception:
- 例外を指定します。
- [PARAM] message:
- メッセージを指定します。
exception_details(exception, message) -> String
-
与えられた例外の詳細を文字列として返します。
- [PARAM] exception:
- 例外を指定します。
- [PARAM] message:
- メッセージを指定します。
flunk(message = nil)
-
必ず失敗するメソッドです。
- [PARAM] message:
- メッセージを指定します。
- [EXCEPTION] MiniTest::Assertion:
- 必ず発生します。
flunk(message = nil)
-
必ず失敗するメソッドです。
- [PARAM] message:
- メッセージを指定します。
- [EXCEPTION] MiniTest::Assertion:
- 必ず発生します。
message(message) { ... } -> Proc
-
与えられたブロックを評価した結果と与えられたメッセージを連結して返します。
- [PARAM] message:
- メッセージを指定します。
message(message) { ... } -> Proc
-
与えられたブロックを評価した結果と与えられたメッセージを連結して返します。
- [PARAM] message:
- メッセージを指定します。
mu_pp(object) -> String
-
Object#inspect した結果のエンコーディングを変更して返します。
エンコーディングは Encoding.default_external に変更されます。
- [PARAM] object:
- 任意のオブジェクトを指定します。
mu_pp(object) -> String
-
Object#inspect した結果のエンコーディングを変更して返します。
エンコーディングは Encoding.default_external に変更されます。
- [PARAM] object:
- 任意のオブジェクトを指定します。
pass(message = nil) -> true
-
アサーション数をカウントするために使用します。
- [PARAM] message:
- 無視されます。
pass(message = nil) -> true
-
アサーション数をカウントするために使用します。
- [PARAM] message:
- 無視されます。
passed? -> bool
-
自身の実行に成功した場合は真を返します。 そうでない場合は偽を返します。
run(runner) -> String
-
自身に関連付けられているテストを実行します。
MiniTest::Unit::TestCase#setup がサブクラスで再定義されている場合はそれらも実行します。
- [PARAM] runner:
- テストの実行結果を管理するオブジェクトを指定します。
setup
-
各テストケースの実行前に実行するメソッドです。
サブクラスで再定義します。
skip(message = nil, backtrace = caller)
-
このメソッドを呼び出したテストメソッドをスキップします。
- [PARAM] message:
- メッセージを指定します。
- [PARAM] backtrace:
- 例外発生時のスタックトレースで、Kernel.#caller の戻り値と同じ 形式で指定しなければいけません。
- [EXCEPTION] MiniTest::Skip:
- 必ず発生します。
[SEE_ALSO] Kernel.#raise
skip(message = nil, backtrace = caller)
-
このメソッドを呼び出したテストメソッドをスキップします。
- [PARAM] message:
- メッセージを指定します。
- [PARAM] backtrace:
- 例外発生時のスタックトレースで、Kernel.#caller の戻り値と同じ 形式で指定しなければいけません。
- [EXCEPTION] MiniTest::Skip:
- 必ず発生します。
[SEE_ALSO] Kernel.#raise
teardown
-
各テストケースの実行後に実行するメソッドです。
サブクラスで再定義します。
定数
PASSTHROUGH_EXCEPTIONS -> [Class]
-
システム関連の例外のリストです。内部で使用します。
SUPPORTS_INFO_SIGNAL -> Fixnum | nil
-
Signal が INFO というシグナルをサポートしているかどうかを 調べるための定数です。内部で使用します。