1
require File.join(File.dirname(__FILE__), "..", "test_helper")
4
require 'mocha/test_case_adapter'
5
require 'mocha/standalone'
7
class StubbaIntegrationTest < Test::Unit::TestCase
10
def self.my_class_method
11
:original_return_value
13
def my_instance_method
14
:original_return_value
18
def test_should_stub_class_method_within_test
20
DontMessWithMe.expects(:my_class_method).returns(:new_return_value)
21
assert_equal :new_return_value, DontMessWithMe.my_class_method
24
test_result = Test::Unit::TestResult.new
25
test.run(test_result) {}
26
assert test_result.passed?
29
def test_should_leave_stubbed_class_method_unchanged_after_test
31
DontMessWithMe.expects(:my_class_method).returns(:new_return_value)
34
test.run(Test::Unit::TestResult.new) {}
35
assert_equal :original_return_value, DontMessWithMe.my_class_method
38
def test_should_reset_class_expectations_after_test
40
DontMessWithMe.expects(:my_class_method)
43
test.run(Test::Unit::TestResult.new) {}
44
assert_equal 0, DontMessWithMe.mocha.expectations.length
47
def test_should_stub_instance_method_within_test
48
instance = DontMessWithMe.new
50
instance.expects(:my_instance_method).returns(:new_return_value)
51
assert_equal :new_return_value, instance.my_instance_method
53
test_result = Test::Unit::TestResult.new
54
test.run(test_result) {}
55
assert test_result.passed?
58
def test_should_leave_stubbed_instance_method_unchanged_after_test
59
instance = DontMessWithMe.new
61
instance.expects(:my_instance_method).returns(:new_return_value)
64
test.run(Test::Unit::TestResult.new) {}
65
assert_equal :original_return_value, instance.my_instance_method
68
def test_should_reset_instance_expectations_after_test
69
instance = DontMessWithMe.new
71
instance.expects(:my_instance_method).returns(:new_return_value)
74
test.run(Test::Unit::TestResult.new) {}
75
assert_equal 0, instance.mocha.expectations.length
80
def build_test(&block)
81
test_class = Class.new(Test::Unit::TestCase) do
82
include Mocha::Standalone
83
include Mocha::TestCaseAdapter
84
define_method(:test_me, &block)
86
test_class.new(:test_me)
b'\\ No newline at end of file'