flexmock 0.8.11 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README.rdoc +2 -2
- data/Rakefile +23 -65
- data/TAGS +689 -691
- data/doc/releases/flexmock-0.9.0.rdoc +89 -0
- data/lib/flexmock.rb +1 -1
- data/lib/flexmock/argument_matchers.rb +5 -5
- data/lib/flexmock/argument_types.rb +1 -1
- data/lib/flexmock/base.rb +1 -1
- data/lib/flexmock/core.rb +5 -5
- data/lib/flexmock/core_class_methods.rb +6 -6
- data/lib/flexmock/default_framework_adapter.rb +2 -2
- data/lib/flexmock/deprecated_methods.rb +1 -1
- data/lib/flexmock/errors.rb +1 -1
- data/lib/flexmock/expectation.rb +12 -12
- data/lib/flexmock/expectation_director.rb +1 -1
- data/lib/flexmock/mock_container.rb +12 -2
- data/lib/flexmock/noop.rb +2 -2
- data/lib/flexmock/ordering.rb +1 -1
- data/lib/flexmock/partial_mock.rb +10 -3
- data/lib/flexmock/rails.rb +1 -1
- data/lib/flexmock/recorder.rb +1 -1
- data/lib/flexmock/rspec.rb +1 -1
- data/lib/flexmock/test_unit.rb +2 -2
- data/lib/flexmock/test_unit_integration.rb +5 -5
- data/lib/flexmock/undefined.rb +8 -4
- data/lib/flexmock/validators.rb +2 -2
- data/lib/flexmock/version.rb +11 -0
- data/test/{test_aliasing.rb → aliasing_test.rb} +7 -8
- data/test/{test_container_methods.rb → container_methods_test.rb} +21 -22
- data/test/{test_default_framework_adapter.rb → default_framework_adapter_test.rb} +8 -9
- data/test/{test_demeter_mocking.rb → demeter_mocking_test.rb} +1 -4
- data/test/{test_deprecated_methods.rb → deprecated_methods_test.rb} +11 -13
- data/test/{test_examples_from_readme.rb → examples_from_readme_test.rb} +5 -6
- data/test/{test_extended_should_receive.rb → extended_should_receive_test.rb} +11 -12
- data/test/{test_flexmodel.rb → flexmodel_test.rb} +1 -2
- data/test/{test_naming.rb → naming_test.rb} +5 -6
- data/test/{test_new_instances.rb → new_instances_test.rb} +36 -28
- data/test/{test_partial_mock.rb → partial_mock_test.rb} +20 -18
- data/test/{test_rails_view_stub.rb → rails_view_stub_test.rb} +3 -3
- data/test/{test_record_mode.rb → record_mode_test.rb} +2 -5
- data/test/rspec_integration/integration_spec.rb +14 -8
- data/test/{test_samples.rb → samples_test.rb} +13 -14
- data/test/{test_should_ignore_missing.rb → should_ignore_missing_test.rb} +4 -6
- data/test/{test_should_receive.rb → should_receive_test.rb} +39 -42
- data/test/test_setup.rb +30 -0
- data/test/test_unit_integration/{test_auto_test_unit.rb → auto_test_unit_test.rb} +4 -4
- data/test/tu_integration_test.rb +99 -0
- data/test/{test_undefined.rb → undefined_test.rb} +2 -3
- metadata +31 -39
- data/test/asserts.rb +0 -34
- data/test/test_tu_integration.rb +0 -94
@@ -0,0 +1,89 @@
|
|
1
|
+
= FlexMock 0.9.0 Released
|
2
|
+
|
3
|
+
FlexMock is a flexible mocking library for use in unit testing and
|
4
|
+
behavior specification in Ruby. Release 0.8.5 is a minor release with
|
5
|
+
a few bug fixes.
|
6
|
+
|
7
|
+
== Ruby 1.9.3 Compatibility
|
8
|
+
|
9
|
+
* Fixed a number of minor warnings reported by the 1.9.3 version of Ruby.
|
10
|
+
|
11
|
+
== What is FlexMock?
|
12
|
+
|
13
|
+
FlexMock is a flexible framework for creating mock object for testing. When
|
14
|
+
running unit tests, it is often desirable to use isolate the objects being
|
15
|
+
tested from the "real world" by having them interact with simplified test
|
16
|
+
objects. Sometimes these test objects simply return values when called, other
|
17
|
+
times they verify that certain methods were called with particular arguments
|
18
|
+
in a particular order.
|
19
|
+
|
20
|
+
FlexMock makes creating these test objects easy.
|
21
|
+
|
22
|
+
=== Features
|
23
|
+
|
24
|
+
* Easy integration with both Test::Unit and RSpec. Mocks created with the
|
25
|
+
flexmock method are automatically verified at the end of the test or
|
26
|
+
example.
|
27
|
+
|
28
|
+
* A fluent interface that allows mock behavior to be specified very
|
29
|
+
easily.
|
30
|
+
|
31
|
+
* A "record mode" where an existing implementation can record its
|
32
|
+
interaction with a mock for later validation against a new
|
33
|
+
implementation.
|
34
|
+
|
35
|
+
* Easy mocking of individual methods in existing, non-mock objects.
|
36
|
+
|
37
|
+
* Easy mocking of chains of method calls.
|
38
|
+
|
39
|
+
* The ability to cause classes to instantiate test instances (instead of real
|
40
|
+
instances) for the duration of a test.
|
41
|
+
|
42
|
+
=== Example
|
43
|
+
|
44
|
+
Suppose you had a Dog object that wagged a tail when it was happy.
|
45
|
+
Something like this:
|
46
|
+
|
47
|
+
class Dog
|
48
|
+
def initialize(a_tail)
|
49
|
+
@tail = a_tail
|
50
|
+
end
|
51
|
+
def happy
|
52
|
+
@tail.wag
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
|
+
To test the +Dog+ class without a real +Tail+ object (perhaps because
|
57
|
+
real +Tail+ objects activate servos in some robotic equipment), you
|
58
|
+
can do something like this:
|
59
|
+
|
60
|
+
require 'test/unit'
|
61
|
+
require 'flexmock/test_unit'
|
62
|
+
|
63
|
+
class TestDog < Test::Unit::TestCase
|
64
|
+
def test_dog_wags_tail_when_happy
|
65
|
+
tail = flexmock("tail")
|
66
|
+
tail.should_receive(:wag).once
|
67
|
+
dog = Dog.new(tail)
|
68
|
+
dog.happy
|
69
|
+
end
|
70
|
+
end
|
71
|
+
|
72
|
+
FlexMock will automatically verify that the mocked tail object received the
|
73
|
+
message +wag+ exactly one time. If it doesn't, the test will not pass.
|
74
|
+
|
75
|
+
See the FlexMock documentation at http://flexmock.rubyforge.org for details on
|
76
|
+
specifying arguments and return values on mocked methods, as well as a simple
|
77
|
+
technique for mocking tail objects when the Dog class creates the tail objects
|
78
|
+
directly.
|
79
|
+
|
80
|
+
== Availability
|
81
|
+
|
82
|
+
You can make sure you have the latest version with a quick RubyGems command:
|
83
|
+
|
84
|
+
gem install flexmock (you may need root/admin privileges)
|
85
|
+
|
86
|
+
You will find documentation at: http://flexmock.rubyforge.org.
|
87
|
+
|
88
|
+
-- Jim Weirich
|
89
|
+
|
data/lib/flexmock.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
3
|
#---
|
4
|
-
# Copyright 2003
|
4
|
+
# Copyright 2003-2011 by Jim Weirich (jim@weirichhouse.org).
|
5
5
|
# All rights reserved.
|
6
6
|
|
7
7
|
# Permission is granted for use, copying, modification, distribution,
|
@@ -1,7 +1,7 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
3
|
#---
|
4
|
-
# Copyright 2003
|
4
|
+
# Copyright 2003-2011 by Jim Weirich (jim@weirichhouse.org).
|
5
5
|
# All rights reserved.
|
6
6
|
#
|
7
7
|
# Permission is granted for use, copying, modification, distribution,
|
@@ -52,7 +52,7 @@ class FlexMock
|
|
52
52
|
"on{...}"
|
53
53
|
end
|
54
54
|
end
|
55
|
-
|
55
|
+
|
56
56
|
####################################################################
|
57
57
|
# Match only things where the block evaluates to true.
|
58
58
|
class HashMatcher
|
@@ -66,7 +66,7 @@ class FlexMock
|
|
66
66
|
"hsh(#{@hash.inspect})"
|
67
67
|
end
|
68
68
|
end
|
69
|
-
|
69
|
+
|
70
70
|
####################################################################
|
71
71
|
# Match only things where the block evaluates to true.
|
72
72
|
class DuckMatcher
|
@@ -80,6 +80,6 @@ class FlexMock
|
|
80
80
|
"ducktype(#{@methods.map{|m| m.inspect}.join(',')})"
|
81
81
|
end
|
82
82
|
end
|
83
|
-
|
84
|
-
|
83
|
+
|
84
|
+
|
85
85
|
end
|
@@ -1,7 +1,7 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
3
|
#---
|
4
|
-
# Copyright 2003
|
4
|
+
# Copyright 2003-2011 by Jim Weirich (jim@weirichhouse.org).
|
5
5
|
# All rights reserved.
|
6
6
|
|
7
7
|
# Permission is granted for use, copying, modification, distribution,
|
data/lib/flexmock/base.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
3
|
#---
|
4
|
-
# Copyright 2003
|
4
|
+
# Copyright 2003-2011 by Jim Weirich (jim@weirichhouse.org).
|
5
5
|
# All rights reserved.
|
6
6
|
|
7
7
|
# Permission is granted for use, copying, modification, distribution,
|
data/lib/flexmock/core.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
3
|
#---
|
4
|
-
# Copyright 2003
|
4
|
+
# Copyright 2003-2011 by Jim Weirich (jim@weirichhouse.org).
|
5
5
|
# All rights reserved.
|
6
6
|
#
|
7
7
|
# Permission is granted for use, copying, modification, distribution,
|
@@ -16,7 +16,7 @@ require 'flexmock/ordering'
|
|
16
16
|
######################################################################
|
17
17
|
# FlexMock is a flexible mock object framework for supporting testing.
|
18
18
|
#
|
19
|
-
# FlexMock has a simple interface that's easy to remember, and leaves
|
19
|
+
# FlexMock has a simple interface that's easy to remember, and leaves
|
20
20
|
# the hard stuff to all those other mock object implementations.
|
21
21
|
#
|
22
22
|
# Basic Usage:
|
@@ -166,7 +166,7 @@ class FlexMock
|
|
166
166
|
end
|
167
167
|
@last_expectation
|
168
168
|
end
|
169
|
-
|
169
|
+
|
170
170
|
# Declare that the mock object should expect methods by providing a
|
171
171
|
# recorder for the methods and having the user invoke the expected
|
172
172
|
# methods in a block. Further expectations may be applied the
|
@@ -194,8 +194,8 @@ class FlexMock
|
|
194
194
|
"in mock '#{@flexmock_name}': #{ex.message}",
|
195
195
|
ex.backtrace
|
196
196
|
end
|
197
|
-
|
198
|
-
|
197
|
+
|
198
|
+
|
199
199
|
# Override the existing definition of method +sym+ in the mock.
|
200
200
|
# Most methods depend on the method_missing trick to be invoked.
|
201
201
|
# However, if the method already exists, it will not call
|
@@ -1,7 +1,7 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
3
|
#---
|
4
|
-
# Copyright 2003
|
4
|
+
# Copyright 2003-2011 by Jim Weirich (jim@weirichhouse.org).
|
5
5
|
# All rights reserved.
|
6
6
|
|
7
7
|
# Permission is granted for use, copying, modification, distribution,
|
@@ -41,7 +41,7 @@ class FlexMock
|
|
41
41
|
container = UseContainer.new
|
42
42
|
mocks = names.collect { |n| container.flexmock(n) }
|
43
43
|
yield(*mocks)
|
44
|
-
rescue Exception =>
|
44
|
+
rescue Exception => _
|
45
45
|
container.got_exception = true
|
46
46
|
raise
|
47
47
|
ensure
|
@@ -66,16 +66,16 @@ class FlexMock
|
|
66
66
|
|
67
67
|
end
|
68
68
|
|
69
|
-
# Container object to be used by the FlexMock.use method.
|
69
|
+
# Container object to be used by the FlexMock.use method.
|
70
70
|
class UseContainer
|
71
71
|
include MockContainer
|
72
|
-
|
72
|
+
|
73
73
|
attr_accessor :got_exception
|
74
|
-
|
74
|
+
|
75
75
|
def initialize
|
76
76
|
@got_exception = false
|
77
77
|
end
|
78
|
-
|
78
|
+
|
79
79
|
def passed?
|
80
80
|
! got_exception
|
81
81
|
end
|
@@ -1,7 +1,7 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
3
|
#---
|
4
|
-
# Copyright 2003
|
4
|
+
# Copyright 2003-2011 by Jim Weirich (jim@weirichhouse.org).
|
5
5
|
# All rights reserved.
|
6
6
|
|
7
7
|
# Permission is granted for use, copying, modification, distribution,
|
@@ -28,4 +28,4 @@ class FlexMock
|
|
28
28
|
AssertionFailedError
|
29
29
|
end
|
30
30
|
end
|
31
|
-
end
|
31
|
+
end
|
@@ -1,7 +1,7 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
3
|
#---
|
4
|
-
# Copyright 2003
|
4
|
+
# Copyright 2003-2011 by Jim Weirich (jim@weirichhouse.org).
|
5
5
|
# All rights reserved.
|
6
6
|
#
|
7
7
|
# Permission is granted for use, copying, modification, distribution,
|
data/lib/flexmock/errors.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
3
|
#---
|
4
|
-
# Copyright 2003
|
4
|
+
# Copyright 2003-2011 by Jim Weirich (jim@weirichhouse.org).
|
5
5
|
# All rights reserved.
|
6
6
|
#
|
7
7
|
# Permission is granted for use, copying, modification, distribution,
|
data/lib/flexmock/expectation.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
3
|
#---
|
4
|
-
# Copyright 2003
|
4
|
+
# Copyright 2003-2011 by Jim Weirich (jim@weirichhouse.org).
|
5
5
|
# All rights reserved.
|
6
6
|
|
7
7
|
# Permission is granted for use, copying, modification, distribution,
|
@@ -12,7 +12,7 @@
|
|
12
12
|
require 'flexmock/noop'
|
13
13
|
|
14
14
|
class FlexMock
|
15
|
-
|
15
|
+
|
16
16
|
####################################################################
|
17
17
|
# An Expectation is returned from each +should_receive+ message sent
|
18
18
|
# to mock object. Each expectation records how a message matching
|
@@ -69,7 +69,7 @@ class FlexMock
|
|
69
69
|
def return_value(args)
|
70
70
|
case @return_queue.size
|
71
71
|
when 0
|
72
|
-
block = lambda { |*
|
72
|
+
block = lambda { |*a| @return_value }
|
73
73
|
when 1
|
74
74
|
block = @return_queue.first
|
75
75
|
else
|
@@ -85,7 +85,7 @@ class FlexMock
|
|
85
85
|
unless @yield_queue.empty?
|
86
86
|
block = args.last
|
87
87
|
values = (@yield_queue.size == 1) ? @yield_queue.first : @yield_queue.shift
|
88
|
-
if block && block.respond_to?(:call)
|
88
|
+
if block && block.respond_to?(:call)
|
89
89
|
@return_value = block.call(*values)
|
90
90
|
else
|
91
91
|
fail MockError, "No Block given to mock with 'and_yield' expectation"
|
@@ -103,7 +103,7 @@ class FlexMock
|
|
103
103
|
# Is this expectation constrained by any call counts?
|
104
104
|
def call_count_constrained?
|
105
105
|
! @count_validators.empty?
|
106
|
-
end
|
106
|
+
end
|
107
107
|
|
108
108
|
# Validate that the order
|
109
109
|
def validate_order
|
@@ -186,7 +186,7 @@ class FlexMock
|
|
186
186
|
# +returns+ is an alias for +and_return+.
|
187
187
|
#
|
188
188
|
def and_return(*args, &block)
|
189
|
-
if block_given?
|
189
|
+
if block_given?
|
190
190
|
@return_queue << block
|
191
191
|
else
|
192
192
|
args.each do |arg|
|
@@ -230,7 +230,7 @@ class FlexMock
|
|
230
230
|
end
|
231
231
|
alias :yields :and_yield
|
232
232
|
|
233
|
-
|
233
|
+
|
234
234
|
# :call-seq:
|
235
235
|
# and_raise(an_exception)
|
236
236
|
# and_raise(SomeException)
|
@@ -241,12 +241,12 @@ class FlexMock
|
|
241
241
|
#
|
242
242
|
# * If an exception instance is given, then that instance will be
|
243
243
|
# raised.
|
244
|
-
#
|
244
|
+
#
|
245
245
|
# * If an exception class is given, the exception raised with be
|
246
246
|
# an instance of that class constructed with +new+. Any
|
247
247
|
# additional arguments in the argument list will be passed to
|
248
248
|
# the +new+ constructor when it is invoked.
|
249
|
-
#
|
249
|
+
#
|
250
250
|
# +raises+ is an alias for +and_raise+.
|
251
251
|
#
|
252
252
|
def and_raise(exception, *args)
|
@@ -418,7 +418,7 @@ class FlexMock
|
|
418
418
|
|
419
419
|
# The following methods return a value, so we make an arbitrary choice
|
420
420
|
# and return the value for the first expectation in the composite.
|
421
|
-
|
421
|
+
|
422
422
|
# Return the order number of the first expectation in the list.
|
423
423
|
def order_number
|
424
424
|
@expectations.first.order_number
|
@@ -428,7 +428,7 @@ class FlexMock
|
|
428
428
|
def mock
|
429
429
|
@expectations.first.mock
|
430
430
|
end
|
431
|
-
|
431
|
+
|
432
432
|
# Start a new method expectation. The following constraints will be
|
433
433
|
# applied to the new expectation.
|
434
434
|
def should_receive(*args, &block)
|
@@ -462,7 +462,7 @@ class FlexMock
|
|
462
462
|
@expectations << [sym, args, block]
|
463
463
|
self
|
464
464
|
end
|
465
|
-
|
465
|
+
|
466
466
|
# Apply the recorded messages to the given object in a chaining fashion
|
467
467
|
# (i.e. the result of the previous call is used as the target of the next
|
468
468
|
# call).
|
@@ -1,7 +1,7 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
3
|
#---
|
4
|
-
# Copyright 2003
|
4
|
+
# Copyright 2003-2011 by Jim Weirich (jim@weirichhouse.org).
|
5
5
|
# All rights reserved.
|
6
6
|
|
7
7
|
# Permission is granted for use, copying, modification, distribution,
|
@@ -1,7 +1,7 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
3
|
#---
|
4
|
-
# Copyright 2003
|
4
|
+
# Copyright 2003-2011 by Jim Weirich (jim@weirichhouse.org).
|
5
5
|
# All rights reserved.
|
6
6
|
|
7
7
|
# Permission is granted for use, copying, modification, distribution,
|
@@ -29,7 +29,7 @@ class FlexMock
|
|
29
29
|
# Do the flexmock specific teardown stuff. If you need finer control,
|
30
30
|
# you can use either +flexmock_verify+ or +flexmock_close+.
|
31
31
|
def flexmock_teardown
|
32
|
-
flexmock_verify
|
32
|
+
flexmock_verify unless flexmock_test_has_failed?
|
33
33
|
ensure
|
34
34
|
flexmock_close
|
35
35
|
end
|
@@ -164,6 +164,16 @@ class FlexMock
|
|
164
164
|
mocking_object.flexmock_container = self
|
165
165
|
mocking_object
|
166
166
|
end
|
167
|
+
|
168
|
+
private
|
169
|
+
|
170
|
+
# In frameworks (e.g. MiniTest) passed? will return nil to
|
171
|
+
# indicate the test isn't over yet. From our point of view we are
|
172
|
+
# only interested if the test has actually failed, so we wrap the
|
173
|
+
# raw call to passed? and handle accordingly.
|
174
|
+
def flexmock_test_has_failed?
|
175
|
+
passed? == false
|
176
|
+
end
|
167
177
|
end
|
168
178
|
|
169
179
|
# #################################################################
|
data/lib/flexmock/noop.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
3
|
#---
|
4
|
-
# Copyright 2003
|
4
|
+
# Copyright 2003-2011 by Jim Weirich (jim@weirichhouse.org).
|
5
5
|
# All rights reserved.
|
6
6
|
|
7
7
|
# Permission is granted for use, copying, modification, distribution,
|
@@ -10,4 +10,4 @@
|
|
10
10
|
#+++
|
11
11
|
|
12
12
|
# No-op include file. Used as a kludge so that only the comments in the
|
13
|
-
# core.rb file are applied to the FlexMock class.
|
13
|
+
# core.rb file are applied to the FlexMock class.
|
data/lib/flexmock/ordering.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
3
|
#---
|
4
|
-
# Copyright 2003
|
4
|
+
# Copyright 2003-2011 by Jim Weirich (jim@weirichhouse.org).
|
5
5
|
# All rights reserved.
|
6
6
|
|
7
7
|
# Permission is granted for use, copying, modification, distribution,
|
@@ -1,7 +1,7 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
3
|
#---
|
4
|
-
# Copyright 2003
|
4
|
+
# Copyright 2003-2011 by Jim Weirich (jim@weirichhouse.org).
|
5
5
|
# All rights reserved.
|
6
6
|
|
7
7
|
# Permission is granted for use, copying, modification, distribution,
|
@@ -125,6 +125,7 @@ class FlexMock
|
|
125
125
|
allocators = [:new] if allocators.empty?
|
126
126
|
result = ExpectationRecorder.new
|
127
127
|
allocators.each do |allocate_method|
|
128
|
+
check_allocate_method(allocate_method)
|
128
129
|
# HACK: Without the following lambda, Ruby 1.9 will not bind
|
129
130
|
# the allocate_method parameter correctly.
|
130
131
|
lambda { }
|
@@ -182,6 +183,12 @@ class FlexMock
|
|
182
183
|
|
183
184
|
private
|
184
185
|
|
186
|
+
def check_allocate_method(allocate_method)
|
187
|
+
if allocate_method == :allocate && RUBY_VERSION >= "1.9"
|
188
|
+
fail UsageError, "Cannot mock the allocation method using new_instances in Ruby 1.9"
|
189
|
+
end
|
190
|
+
end
|
191
|
+
|
185
192
|
# The singleton class of the object.
|
186
193
|
def sclass
|
187
194
|
class << @obj; self; end
|
@@ -235,7 +242,7 @@ class FlexMock
|
|
235
242
|
end
|
236
243
|
end
|
237
244
|
new_alias
|
238
|
-
rescue NameError =>
|
245
|
+
rescue NameError => _
|
239
246
|
# Alias attempt failed
|
240
247
|
nil
|
241
248
|
end
|
@@ -259,7 +266,7 @@ class FlexMock
|
|
259
266
|
instance_variable_get('@flexmock_proxy').mock.#{method_name}(*args, &block)
|
260
267
|
end
|
261
268
|
}, __FILE__, eval_line
|
262
|
-
|
269
|
+
_ = true # make rcov recognize the above eval is covered
|
263
270
|
end
|
264
271
|
end
|
265
272
|
|