No such thing as a small change | |
PerlMonks |
Micro Mocking: using local to help test subsby adrianh (Chancellor) |
on Jan 13, 2003 at 01:19 UTC ( [id://226368]=perlmeditation: print w/replies, xml ) | Need Help?? |
Writing this node reminded me of a testing technique I occasionally find useful. Consider the following code:
I want to test that foo calls bar. I could check the text output by bar, but that ties my test to the what bar outputs. Since this can change independently I want to avoid this. Solution: use local to redefine bar for the scope of the test. For example:
This technique allows you to mock only part of the class you are testing (hence "Micro Mocking" :-). Occasionally very useful. You can, of course, use the same method for other classes too. For example, if you had:
You could check that Foo->new called CGI->new like this:
But, by this point, Test::MockObject is probably a more sensible choice :-)
Back to
Meditations
|
|