The best coverage tool for Perl, bar none. Paul Johnson has created and maintained an invaluable development resource on par with Devel::NYTProf. The HTML display is friendly, informative and easy.
I cannot count the number of times good test coverage, determined by Devel::Cover, has let me make aggressive changes and saved my ass.
Devel::Cover is an indispensable tool in making sure that your tests have good (hopefully close to 100%) test coverage. I've used it successfully for several projects and it's a great tool. My only problem with it is that it makes the code runs much slower, which detracts from its usefulness. But otherwise, it's very good.
Fantastic module! I used to wonder why there wasn't anything like gcov for Perl. Now, I wonder why there is nothing as good as Devel::Cover for C!
Watching coverage numbers slowly climb is deeply satisfying in a horribly nerdy way. Seeing colors change (for the better) is even nicer. D::C fits really well into my development style of implementing things one tiny piece at a time and testing for goodness as I go. So, so good.
Devel::Cover actually makes you discover things about your code that you would never imagine.
It's a must.
If you want to write high quality code, you absolutely need Devel::Cover. This is one module I can no longer code without.
Good job Paul.
Devel::Cover watches your program run and tells you which lines of code are executed. It's especially handy for helping determine if your regressions tests actually exercise the code or not. It's also useful for profiling code for performance bottlenecks.
The easiest way to employ Devel::Cover is to install a recent version Module::Build and call the "Build testcover" action. Then open cover_db/coverage.html in your browser to get a summary of the results.
If you don't use Module::Build, then you can simply run arbitrary Perl code with "-MDevel::Cover". When execution is finished, you can run
a (poorly named, IMHO) command line tool called "cover" to emit reports.
Impressive, helpful, well documented, easy to use and with a well styled and clear HTML presentation of the results. No need for instrumentation (coverage code preparation) in any way. Great!
Devel::Cover has changed the way I build software. It shows me how inadequate my tests are, and challenges me to do better next time. Paul has done an incredible job, and it just keeps getting better. This module is destined to be into one of the most useful (and hopefully popular!) development tools on the CPAN.
Devel::Cover has become an indispensable part of my development toolkit. Using it has increased the quality of my tests, which in turn has increased the quality of my modules. I believe using this module has made me a better programmer by giving me insight into my code that I never had before. Highly Recommended!!
This is an excellent module! I've not only improved the test suite but used it to optimize software by identifying conditions that do not occur, or options that are not needed.
The documentation leaves a bit to be desired, though. It takes a bit of time and experimentation to figure out. (There are still a few things that I'll need to figure out...)
This is an extremely useful module, especially for extreme programming hype.
Branch coverage, for example, is a very interesting aspect of testing which is barely measurable by working 'well'. This module facilitates tests such as these, which, although perhaps not complete on their own, help even more than the reporting they provide, since they can open your eyes to whole aspects you missed.
For anybody writing tests, this is also a rewarding process. The green parts, and all those 100% spread all over the place are gratifying.
Excellent tool; a valuable assistance to module authors in improving their tests. Documentation may seem a bit skimpy, but if you just install and run it, the reports it produces are mostly self-explanatory.
The easiest way to get feedback on your test and to figure out how good they are and how to improve them. It gives you the figures for statement, branch, condition, subroutines and pod coverage, plus a commented version of the code showing the coverage.
The SYNOPSYS gives you all you need to know about it.
A must-use module
This module provides for development coverage testing in a far superior manner to other approaches like Devel::Coverage. The way it works is by replacing the `runops' C function in the middle of Perl - and this extremely low-level approach is the only way to ensure that your coverage tests are complete and transparent (apart from a minor performance penalty).
Paul Johnson explained the topic well at YAPC::Europe 2003.
Watch out for a funky new report format with newer versions!
Used during the make test, it provides the easiest and most efficient way, to check that the test suite is COMPLETE and hence ensure good code kwality ;-)
Also enable to check for dead code among other (useful) things.
Should be in everybody toolbox IMHO.
1 hidden unhelpful review