class TestMinitestMock
Public Instance Methods
setup()
click to toggle source
# File minitest-5.13.0/test/minitest/test_minitest_mock.rb, line 6 def setup @mock = Minitest::Mock.new.expect(:foo, nil) @mock.expect(:meaning_of_life, 42) end
test_allow_expectations_to_be_added_after_creation()
click to toggle source
# File minitest-5.13.0/test/minitest/test_minitest_mock.rb, line 32 def test_allow_expectations_to_be_added_after_creation @mock.expect(:bar, true) assert @mock.bar end
test_allow_return_value_specification()
click to toggle source
# File minitest-5.13.0/test/minitest/test_minitest_mock.rb, line 15 def test_allow_return_value_specification assert_equal 42, @mock.meaning_of_life end
test_assign_per_mock_return_values()
click to toggle source
# File minitest-5.13.0/test/minitest/test_minitest_mock.rb, line 156 def test_assign_per_mock_return_values a = Minitest::Mock.new b = Minitest::Mock.new a.expect(:foo, :a) b.expect(:foo, :b) assert_equal :a, a.foo assert_equal :b, b.foo end
test_blow_up_if_not_called()
click to toggle source
# File minitest-5.13.0/test/minitest/test_minitest_mock.rb, line 19 def test_blow_up_if_not_called @mock.foo util_verify_bad "expected meaning_of_life() => 42" end
test_blow_up_on_wrong_arguments()
click to toggle source
# File minitest-5.13.0/test/minitest/test_minitest_mock.rb, line 118 def test_blow_up_on_wrong_arguments @mock.foo @mock.meaning_of_life @mock.expect(:sum, 3, [1, 2]) e = assert_raises MockExpectationError do @mock.sum(2, 4) end exp = "mocked method :sum called with unexpected arguments [2, 4]" assert_equal exp, e.message end
test_blow_up_on_wrong_number_of_arguments()
click to toggle source
# File minitest-5.13.0/test/minitest/test_minitest_mock.rb, line 45 def test_blow_up_on_wrong_number_of_arguments @mock.foo @mock.meaning_of_life @mock.expect(:sum, 3, [1, 2]) e = assert_raises ArgumentError do @mock.sum end assert_equal "mocked method :sum expects 2 arguments, got 0", e.message end
test_create_stub_method()
click to toggle source
# File minitest-5.13.0/test/minitest/test_minitest_mock.rb, line 11 def test_create_stub_method assert_nil @mock.foo end
test_do_not_create_stub_method_on_new_mocks()
click to toggle source
# File minitest-5.13.0/test/minitest/test_minitest_mock.rb, line 167 def test_do_not_create_stub_method_on_new_mocks a = Minitest::Mock.new a.expect(:foo, :a) assert !Minitest::Mock.new.respond_to?(:foo) end
test_expect_with_non_array_args()
click to toggle source
# File minitest-5.13.0/test/minitest/test_minitest_mock.rb, line 131 def test_expect_with_non_array_args e = assert_raises ArgumentError do @mock.expect :blah, 3, false end assert_equal "args must be an array", e.message end
test_expectations_can_be_satisfied_via_public_send()
click to toggle source
# File minitest-5.13.0/test/minitest/test_minitest_mock.rb, line 109 def test_expectations_can_be_satisfied_via_public_send skip "Doesn't run on 1.8" if RUBY_VERSION < "1.9" @mock.public_send :foo @mock.public_send :meaning_of_life assert_mock @mock end
test_expectations_can_be_satisfied_via_send()
click to toggle source
# File minitest-5.13.0/test/minitest/test_minitest_mock.rb, line 102 def test_expectations_can_be_satisfied_via_send @mock.send :foo @mock.send :meaning_of_life assert_mock @mock end
test_method_missing_empty()
click to toggle source
# File minitest-5.13.0/test/minitest/test_minitest_mock.rb, line 202 def test_method_missing_empty mock = Minitest::Mock.new mock.expect :a, nil mock.a e = assert_raises MockExpectationError do mock.a end assert_equal "No more expects available for :a: []", e.message end
test_mock_args_does_not_raise()
click to toggle source
# File minitest-5.13.0/test/minitest/test_minitest_mock.rb, line 66 def test_mock_args_does_not_raise arg = Minitest::Mock.new mock = Minitest::Mock.new mock.expect(:foo, nil, [arg]) mock.foo(arg) assert_mock mock end
test_mock_block_is_passed_function_block()
click to toggle source
# File minitest-5.13.0/test/minitest/test_minitest_mock.rb, line 278 def test_mock_block_is_passed_function_block mock = Minitest::Mock.new block = proc { "bar" } mock.expect :foo, nil do |arg, &blk| arg == "foo" && blk == block end mock.foo "foo", &block assert_mock mock end
test_mock_block_is_passed_function_params()
click to toggle source
# File minitest-5.13.0/test/minitest/test_minitest_mock.rb, line 266 def test_mock_block_is_passed_function_params arg1, arg2, arg3 = :bar, [1, 2, 3], { :a => "a" } mock = Minitest::Mock.new mock.expect :foo, nil do |a1, a2, a3| a1 == arg1 && a2 == arg2 && a3 == arg3 end mock.foo arg1, arg2, arg3 assert_mock mock end
test_mock_block_throws_if_args_passed()
click to toggle source
# File minitest-5.13.0/test/minitest/test_minitest_mock.rb, line 301 def test_mock_block_throws_if_args_passed mock = Minitest::Mock.new e = assert_raises(ArgumentError) do mock.expect :foo, nil, [:a, :b, :c] do true end end exp = "args ignored when block given" assert_equal exp, e.message end
test_mock_called_via___send__()
click to toggle source
# File minitest-5.13.0/test/minitest/test_minitest_mock.rb, line 342 def test_mock_called_via___send__ mock = Minitest::Mock.new mock.expect(:foo, true) mock.__send__ :foo assert_mock mock end
test_mock_called_via_send()
click to toggle source
# File minitest-5.13.0/test/minitest/test_minitest_mock.rb, line 334 def test_mock_called_via_send mock = Minitest::Mock.new mock.expect(:foo, true) mock.send :foo assert_mock mock end
test_mock_called_via_send_with_args()
click to toggle source
# File minitest-5.13.0/test/minitest/test_minitest_mock.rb, line 350 def test_mock_called_via_send_with_args mock = Minitest::Mock.new mock.expect(:foo, true, [1, 2, 3]) mock.send(:foo, 1, 2, 3) assert_mock mock end
test_mock_is_a_blank_slate()
click to toggle source
# File minitest-5.13.0/test/minitest/test_minitest_mock.rb, line 174 def test_mock_is_a_blank_slate @mock.expect :kind_of?, true, [String] @mock.expect :==, true, [1] assert @mock.kind_of?(String), "didn't mock :kind_of\?" assert @mock == 1, "didn't mock :==" end
test_mock_returns_retval_when_called_with_block()
click to toggle source
# File minitest-5.13.0/test/minitest/test_minitest_mock.rb, line 315 def test_mock_returns_retval_when_called_with_block mock = Minitest::Mock.new mock.expect(:foo, 32) do true end rs = mock.foo assert_equal rs, 32 end
test_no_method_error_on_unexpected_methods()
click to toggle source
# File minitest-5.13.0/test/minitest/test_minitest_mock.rb, line 146 def test_no_method_error_on_unexpected_methods e = assert_raises NoMethodError do @mock.bar end expected = "unmocked method :bar, expected one of [:foo, :meaning_of_life]" assert_equal expected, e.message end
test_not_blow_up_if_everything_called()
click to toggle source
# File minitest-5.13.0/test/minitest/test_minitest_mock.rb, line 25 def test_not_blow_up_if_everything_called @mock.foo @mock.meaning_of_life assert_mock @mock end
test_not_verify_if_new_expected_method_is_not_called()
click to toggle source
# File minitest-5.13.0/test/minitest/test_minitest_mock.rb, line 37 def test_not_verify_if_new_expected_method_is_not_called @mock.foo @mock.meaning_of_life @mock.expect(:bar, true) util_verify_bad "expected bar() => true" end
test_respond_appropriately()
click to toggle source
# File minitest-5.13.0/test/minitest/test_minitest_mock.rb, line 139 def test_respond_appropriately assert @mock.respond_to?(:foo) assert @mock.respond_to?(:foo, true) assert @mock.respond_to?("foo") assert !@mock.respond_to?(:bar) end
test_return_mock_does_not_raise()
click to toggle source
# File minitest-5.13.0/test/minitest/test_minitest_mock.rb, line 57 def test_return_mock_does_not_raise retval = Minitest::Mock.new mock = Minitest::Mock.new mock.expect(:foo, retval) mock.foo assert_mock mock end
test_same_method_expects_are_verified_when_all_called()
click to toggle source
# File minitest-5.13.0/test/minitest/test_minitest_mock.rb, line 216 def test_same_method_expects_are_verified_when_all_called mock = Minitest::Mock.new mock.expect :foo, nil, [:bar] mock.expect :foo, nil, [:baz] mock.foo :bar mock.foo :baz assert_mock mock end
test_same_method_expects_blow_up_when_not_all_called()
click to toggle source
# File minitest-5.13.0/test/minitest/test_minitest_mock.rb, line 227 def test_same_method_expects_blow_up_when_not_all_called mock = Minitest::Mock.new mock.expect :foo, nil, [:bar] mock.expect :foo, nil, [:baz] mock.foo :bar e = assert_raises(MockExpectationError) { mock.verify } exp = "expected foo(:baz) => nil, got [foo(:bar) => nil]" assert_equal exp, e.message end
test_same_method_expects_with_same_args_blow_up_when_not_all_called()
click to toggle source
# File minitest-5.13.0/test/minitest/test_minitest_mock.rb, line 241 def test_same_method_expects_with_same_args_blow_up_when_not_all_called mock = Minitest::Mock.new mock.expect :foo, nil, [:bar] mock.expect :foo, nil, [:bar] mock.foo :bar e = assert_raises(MockExpectationError) { mock.verify } exp = "expected foo(:bar) => nil, got [foo(:bar) => nil]" assert_equal exp, e.message end
test_set_expectation_on_special_methods()
click to toggle source
# File minitest-5.13.0/test/minitest/test_minitest_mock.rb, line 75 def test_set_expectation_on_special_methods mock = Minitest::Mock.new mock.expect :object_id, "received object_id" assert_equal "received object_id", mock.object_id mock.expect :respond_to_missing?, "received respond_to_missing?" assert_equal "received respond_to_missing?", mock.respond_to_missing? mock.expect :===, "received ===" assert_equal "received ===", mock.=== mock.expect :inspect, "received inspect" assert_equal "received inspect", mock.inspect mock.expect :to_s, "received to_s" assert_equal "received to_s", mock.to_s mock.expect :public_send, "received public_send" assert_equal "received public_send", mock.public_send mock.expect :send, "received send" assert_equal "received send", mock.send assert_mock mock end
test_verify_allows_called_args_to_be_loosely_specified()
click to toggle source
# File minitest-5.13.0/test/minitest/test_minitest_mock.rb, line 182 def test_verify_allows_called_args_to_be_loosely_specified mock = Minitest::Mock.new mock.expect :loose_expectation, true, [Integer] mock.loose_expectation 1 assert_mock mock end
test_verify_fails_when_mock_block_returns_false()
click to toggle source
# File minitest-5.13.0/test/minitest/test_minitest_mock.rb, line 289 def test_verify_fails_when_mock_block_returns_false mock = Minitest::Mock.new mock.expect :foo, nil do false end e = assert_raises(MockExpectationError) { mock.foo } exp = "mocked method :foo failed block w/ []" assert_equal exp, e.message end
test_verify_passes_when_mock_block_returns_true()
click to toggle source
# File minitest-5.13.0/test/minitest/test_minitest_mock.rb, line 255 def test_verify_passes_when_mock_block_returns_true mock = Minitest::Mock.new mock.expect :foo, nil do true end mock.foo assert_mock mock end
test_verify_raises_with_strict_args()
click to toggle source
# File minitest-5.13.0/test/minitest/test_minitest_mock.rb, line 190 def test_verify_raises_with_strict_args mock = Minitest::Mock.new mock.expect :strict_expectation, true, [2] e = assert_raises MockExpectationError do mock.strict_expectation 1 end exp = "mocked method :strict_expectation called with unexpected arguments [1]" assert_equal exp, e.message end
util_verify_bad(exp)
click to toggle source
# File minitest-5.13.0/test/minitest/test_minitest_mock.rb, line 326 def util_verify_bad exp e = assert_raises MockExpectationError do @mock.verify end assert_equal exp, e.message end