Module: Minitest::Expectations

Included in:
Object
Defined in:
lib/minitest/expectations.rb

Overview

It's where you hide your “assertions”.

Please note, because of the way that expectations are implemented, all expectations (eg must_equal) are dependent upon a thread local variable :current_spec. If your specs rely on mixing threads into the specs themselves, you're better off using assertions or the new _(value) wrapper. For example:

it "should still work in threads" do
  my_threaded_thingy do
    (1+1).must_equal 2                  # bad
    assert_equal 2, 1+1                 # good
    _(1 + 1).must_equal 2               # good
    value(1 + 1).must_equal 2           # good, also #expect
    _ { 1 + "1" }.must_raise TypeError  # good
  end
end

Instance Method Summary collapse

Instance Method Details

#assert_emptyObject

See Minitest::Assertions#assert_empty.

_(collection).must_be_empty

:method: must_be_empty


29
# File 'lib/minitest/expectations.rb', line 29

infect_an_assertion :assert_empty, :must_be_empty, :unary

#assert_equalObject

See Minitest::Assertions#assert_equal

_(a).must_equal b

:method: must_equal


38
# File 'lib/minitest/expectations.rb', line 38

infect_an_assertion :assert_equal, :must_equal

#assert_in_deltaObject

See Minitest::Assertions#assert_in_delta

_(n).must_be_close_to m [, delta]

:method: must_be_close_to


47
# File 'lib/minitest/expectations.rb', line 47

infect_an_assertion :assert_in_delta, :must_be_close_to

#assert_in_epsilonObject

See Minitest::Assertions#assert_in_epsilon

_(n).must_be_within_epsilon m [, epsilon]

:method: must_be_within_epsilon


58
# File 'lib/minitest/expectations.rb', line 58

infect_an_assertion :assert_in_epsilon, :must_be_within_epsilon

#assert_includesObject

See Minitest::Assertions#assert_includes

_(collection).must_include obj

:method: must_include


67
# File 'lib/minitest/expectations.rb', line 67

infect_an_assertion :assert_includes, :must_include, :reverse

#assert_instance_ofObject

See Minitest::Assertions#assert_instance_of

_(obj).must_be_instance_of klass

:method: must_be_instance_of


76
# File 'lib/minitest/expectations.rb', line 76

infect_an_assertion :assert_instance_of, :must_be_instance_of

#assert_kind_ofObject

See Minitest::Assertions#assert_kind_of

_(obj).must_be_kind_of mod

:method: must_be_kind_of


85
# File 'lib/minitest/expectations.rb', line 85

infect_an_assertion :assert_kind_of, :must_be_kind_of

#assert_matchObject

See Minitest::Assertions#assert_match

_(a).must_match b

:method: must_match


94
# File 'lib/minitest/expectations.rb', line 94

infect_an_assertion :assert_match, :must_match

#assert_nilObject

See Minitest::Assertions#assert_nil

_(obj).must_be_nil

:method: must_be_nil


103
# File 'lib/minitest/expectations.rb', line 103

infect_an_assertion :assert_nil, :must_be_nil, :unary

#assert_operatorObject

See Minitest::Assertions#assert_operator

_(n).must_be :<=, 42

This can also do predicates:

_(str).must_be :empty?

:method: must_be


116
# File 'lib/minitest/expectations.rb', line 116

infect_an_assertion :assert_operator, :must_be, :reverse

#assert_outputObject

See Minitest::Assertions#assert_output

_ { ... }.must_output out_or_nil [, err]

:method: must_output


125
# File 'lib/minitest/expectations.rb', line 125

infect_an_assertion :assert_output, :must_output, :block

#assert_path_existsObject

See Minitest::Assertions#assert_path_exists

_(some_path).path_must_exist

:method: path_must_exist


179
# File 'lib/minitest/expectations.rb', line 179

infect_an_assertion :assert_path_exists, :path_must_exist, :unary

#assert_raisesObject

See Minitest::Assertions#assert_raises

_ { ... }.must_raise exception

:method: must_raise


134
# File 'lib/minitest/expectations.rb', line 134

infect_an_assertion :assert_raises, :must_raise, :block

#assert_respond_toObject

See Minitest::Assertions#assert_respond_to

_(obj).must_respond_to msg

:method: must_respond_to


143
# File 'lib/minitest/expectations.rb', line 143

infect_an_assertion :assert_respond_to, :must_respond_to, :reverse

#assert_sameObject

See Minitest::Assertions#assert_same

_(a).must_be_same_as b

:method: must_be_same_as


152
# File 'lib/minitest/expectations.rb', line 152

infect_an_assertion :assert_same, :must_be_same_as

#assert_silentObject

See Minitest::Assertions#assert_silent

_ { ... }.must_be_silent

:method: must_be_silent


161
# File 'lib/minitest/expectations.rb', line 161

infect_an_assertion :assert_silent, :must_be_silent, :block

#assert_throwsObject

See Minitest::Assertions#assert_throws

_ { ... }.must_throw sym

:method: must_throw


170
# File 'lib/minitest/expectations.rb', line 170

infect_an_assertion :assert_throws, :must_throw, :block

#refute_emptyObject

See Minitest::Assertions#refute_empty

_(collection).wont_be_empty

:method: wont_be_empty


197
# File 'lib/minitest/expectations.rb', line 197

infect_an_assertion :refute_empty, :wont_be_empty, :unary

#refute_equalObject

See Minitest::Assertions#refute_equal

_(a).wont_equal b

:method: wont_equal


206
# File 'lib/minitest/expectations.rb', line 206

infect_an_assertion :refute_equal, :wont_equal

#refute_in_deltaObject

See Minitest::Assertions#refute_in_delta

_(n).wont_be_close_to m [, delta]

:method: wont_be_close_to


215
# File 'lib/minitest/expectations.rb', line 215

infect_an_assertion :refute_in_delta, :wont_be_close_to

#refute_in_epsilonObject

See Minitest::Assertions#refute_in_epsilon

_(n).wont_be_within_epsilon m [, epsilon]

:method: wont_be_within_epsilon


226
# File 'lib/minitest/expectations.rb', line 226

infect_an_assertion :refute_in_epsilon, :wont_be_within_epsilon

#refute_includesObject

See Minitest::Assertions#refute_includes

_(collection).wont_include obj

:method: wont_include


235
# File 'lib/minitest/expectations.rb', line 235

infect_an_assertion :refute_includes, :wont_include, :reverse

#refute_instance_ofObject

See Minitest::Assertions#refute_instance_of

_(obj).wont_be_instance_of klass

:method: wont_be_instance_of


244
# File 'lib/minitest/expectations.rb', line 244

infect_an_assertion :refute_instance_of, :wont_be_instance_of

#refute_kind_ofObject

See Minitest::Assertions#refute_kind_of

_(obj).wont_be_kind_of mod

:method: wont_be_kind_of


253
# File 'lib/minitest/expectations.rb', line 253

infect_an_assertion :refute_kind_of, :wont_be_kind_of

#refute_matchObject

See Minitest::Assertions#refute_match

_(a).wont_match b

:method: wont_match


262
# File 'lib/minitest/expectations.rb', line 262

infect_an_assertion :refute_match, :wont_match

#refute_nilObject

See Minitest::Assertions#refute_nil

_(obj).wont_be_nil

:method: wont_be_nil


271
# File 'lib/minitest/expectations.rb', line 271

infect_an_assertion :refute_nil, :wont_be_nil, :unary

#refute_operatorObject

See Minitest::Assertions#refute_operator

_(n).wont_be :<=, 42

This can also do predicates:

str.wont_be :empty?

:method: wont_be


284
# File 'lib/minitest/expectations.rb', line 284

infect_an_assertion :refute_operator, :wont_be, :reverse

#refute_path_existsObject

See Minitest::Assertions#refute_path_exists

_(some_path).path_wont_exist

:method: path_wont_exist


188
# File 'lib/minitest/expectations.rb', line 188

infect_an_assertion :refute_path_exists, :path_wont_exist, :unary

#refute_respond_toObject

See Minitest::Assertions#refute_respond_to

_(obj).wont_respond_to msg

:method: wont_respond_to


293
# File 'lib/minitest/expectations.rb', line 293

infect_an_assertion :refute_respond_to, :wont_respond_to, :reverse

#refute_sameObject

See Minitest::Assertions#refute_same

_(a).wont_be_same_as b

:method: wont_be_same_as


302
# File 'lib/minitest/expectations.rb', line 302

infect_an_assertion :refute_same, :wont_be_same_as