I just feel the need to release some good old frustration. Move along. There's no real content here. :-)
Last night, I wasted a half hour of my life trying to figure out why this simple thing dies:
use_ok('Catalyst::View::TT');
C:\Mango>perl -MTemplate::Timer -e 1C:\Mango>perl -MTest::MockObject -MTemplate::Timer -e 1 Died at C:/strawberry-perl/perl/site/lib/Template/Timer.pm line 63. Compilation failed in require. BEGIN failed--compilation aborted.
I knew the dangers of Test::MockObject...
That it warns about buggy code and refuses to attempt to do the wrong thing? That's not an accidental feature....
Re:Hey, That's Projection!
jk2addict on 2007-05-16T18:02:49
That it loads modules that causes other modules to fail...without notice or reason...
Warning about what you/I/we/they think is bad practice is one thing...causing outright failures is something totally different.
Again, I'm not using UNIVERSAL::can... I'm using Test::MockObject. The act of loading and using T::MO should not cause other shit to completely die and blow up.Re:Hey, That's Projection!
chromatic on 2007-05-16T21:04:49
T::MO takes it in the shorts, no matter what I do.
If I do nothing with regard to the methods
can()
andisa()
, buggy code assumes that calling those methods as functions gives correct answers, and breaks the test code.If I try to work around that damage so that the results are somewhat correct, people complain that they've learned that their buggy code has bugs in it and blame T::MO.
I'm starting to think that people don't want to find bugs through testing.
Re:Hey, That's Projection!
jk2addict on 2007-05-16T21:52:09
Well, that's sort of true really. I'd wager people just don't want to find other peoples bugs in testing.:-)
Re:But doctor, it hurts when I do this...
chromatic on 2007-05-20T04:37:22
What a strange use of the word "working" to describe code that breaks method overriding.