On Sep 30, 2008, at 11:47 AM, Jim Weirich wrote: > On Sep 30, 2008, at 2:27 AM, Ryan Davis wrote: >> I think the main thing I've been learning from you and Dave is that >> your (collective) perception of miniunit is vastly different than >> mine. >> >> miniunit, in my mind, doesn't "masquerade" as test/unit... at >> least, no more than any duck typing "masquerades" as the thing it >> is being used as. It IS test/unit's mutated child and can be used >> in place of test/unit... I just think of it as test/unit 2.0... it >> maintains full backwards compatibility, for now, and later the >> deprecated stuff will drop off, making it even lighter/better/ >> happier. > > Sorry, "masquerade" carried more of a pejorative connotation than I > intended. I meant nothing more than "Duck Typing" at a library level. > > I agreed with Dave ... the deprecated line noise is *highly* > annoying. Especially in a project that I intend to remain > compatible with test/unit (for the moment at least). > > Can we: > > (a) Get a way of switching off the deprecation notices (perhaps a > command line switch), > > ... or ... > > (b) Reduce the deprecation notices to a single notice. I'm thinking > that a notice after all the tests have run saying something along > the lines of "the following deprecated methods have been used ..." > would convey the same information but not make the test output so > visually appalling. > > Thanks for taking the burden of crafting a lighter, faster test > framework. My experience with deprecating features from RubyGems leads me to believe that the only way to make people change their code is to be as visually appalling as possible. I announced that require_gem would be removed in a reasonable amount of time and printed no warning messages. Several months later require_gem added a warning, and people got rather upset. Eventually I removed it altogether and people were up in arms about their software breaking. I believe I would have had better luck printing out five lines of warning every time require_gem was used instead of just one. Printing out only one line is not going to encourage many people to bring themselves up to date. They'll just ignore the message and move on, then complain loudly once the feature is removed despite being told every day that they've been doing it wrong for several months.