Ruby 1.9.3 リファレンスマニュアル > ライブラリ一覧 > minitest/specライブラリ > MiniTest::Specクラス

class MiniTest::Spec + MiniTest::Unit::TestCase + MiniTest::Assertions

クラスの継承リスト: MiniTest::Spec < MiniTest::Unit::TestCase < MiniTest::Assertions < Object < Kernel < BasicObject

要約

BDD 風にテストを書くための MiniTest::Unit::TestCase に対するラッパークラスです。

特異メソッド

after(type = :each) { ... } -> Proc

各テストの後に実行するブロックを登録します。

[PARAM] type:
:each を指定することができます。
[EXCEPTION] RuntimeError:
type に :each 以外を指定すると発生します。
before(type = :each) { ... } -> Proc

各テストの前に実行するブロックを登録します。

[PARAM] type:
:each を指定することができます。
[EXCEPTION] RuntimeError:
type に :each 以外を指定すると発生します。
current -> MiniTest::Spec

現在実行中の MiniTest::Spec のインスタンスを返します。

inherited(klass)

テストクラス名をテストスイート登録します。

it(desc) { ... } -> ()

テストケースを一つ定義します。

与えられたブロックが一つのテストケースに相当します。

[PARAM] desc:
テストケースの説明を指定します。
new(name)

与えられた名前で自身を初期化します。

new(name)

自身を初期化します。

[PARAM] name:
自身の名前を指定します。
reset

テストスイートをクリアします。

test_methods -> Array

テストメソッドのリストを返します。

MiniTest::Unit::TestCase.test_order の値が :random である場合は 返されるメソッドリストの順番はランダムです。 そうでない場合は、文字コード順にソートされます。

test_order -> Symbol

テストの実行順序を返します。

デフォルトはランダムです。

test_suites -> Array

テストクラス名のリストを返します。

インスタンスメソッド

__name__ -> String

自身の名前を返します。

_assertions -> Fixnum

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

_assertions=(count)

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

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

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

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

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

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

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

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

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

[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

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

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

[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

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

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

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

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

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

[PARAM] object:
任意のオブジェクトを指定します。
[PARAM] message:
検査に失敗した場合に表示するメッセージを指定します。 文字列か Proc を指定します。Proc である場合は Proc#call した 結果を使用します。
[EXCEPTION] MiniTest::Assertion:
与えられたオブジェクトが 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_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_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_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]
ブロック評価中に出力された文字列を標準出力を第一要素、標準エラー出力を第二要素とした 配列にして返します。
exception_details(exception, message) -> String

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

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

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

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

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

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

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

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

[PARAM] object:
任意のオブジェクトを指定します。
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

teardown

各テストケースの実行後に実行するメソッドです。

サブクラスで再定義します。

定数

PASSTHROUGH_EXCEPTIONS -> [Class]

システム関連の例外のリストです。内部で使用します。

SUPPORTS_INFO_SIGNAL -> Fixnum | nil

Signal が INFO というシグナルをサポートしているかどうかを 調べるための定数です。内部で使用します。

class MiniTest::Spec