http://qs321.pair.com?node_id=469927

skyknight has asked for the wisdom of the Perl Monks concerning the following question:

I have a very simple question. Is there any real consensus in the Perl community with respect to how unit testing ought to be done? That is to say, does anyone agree which library frameworks are the best to use? The panoply of choices is perplexing to me, but perhaps that is part of Perl's culture.

Java has jUnit, and that's what everybody uses. Perl, on the other hand, proffers a variety of choices. Historically, I've used Test::Unit and Test::SimpleUnit, and fiddled a bit with Test::More. Which module is the most powerful? Which module has the most buy-in from the community at large? Which module, were I to use it, would cause the least scoffing from those in the know when it comes to unit testing Perl code? The fact that there is no well accepted standard is quite discouraging. Said lack makes it very difficult to do integration testing across modules, unless you could at least get everyone to agree to a common harness.

So, what's the answer to this madness? Is there a simple one, or is my perplexity the natural consequence of the current state of affairs? Even if there is a standard way of doing this stuff, why is it not obvious what it is?