I'm really glad to see the stubbing capabilities added to FlexMock.
However, I'm having a problem with the flexstub method.
I have several domain classes (ActiveRecord) in my application, and I
am working on functionality that will import data into the application
from a de-normalized tab-separated file we get from our customer on an
ongoing basis. Each line in the file represents a Product, so the code
calls Product.import( data_hash_from_line ) for each line in the file.
Product.import then calls the import method on several related
classes, giving each one the responsibility for knowing how to handle
its portion of the data.
For the unit tests, I'm using FlexMock to stub out the calls to import
in the other classes. If I run a single test case using `ruby
test/unit/my_test_file.rb`, everything works as expected. However,
when I try to run the whole test suite using `rake` (this is a Rails
app, BTW), I start to see a lot of errors like this:
NoMethodError: undefined method `import' for #<FlexMock:0x236a0e0>
It looks like the FlexMock::TestCase#flexmock_teardown method is
removing the stub for Status.import, but it isn't restoring the
Alice came to a fork in the road. "Which road do I take?" she asked.
"Where do you want to go?" responded the Cheshire cat.
"I don't know," Alice answered.
"Then," said the cat, "it doesn't matter."
- Lewis Carrol, Alice in Wonderland