Skipping tests not relevant to users

Test-driven development is great, but it comes with the overhead of all the prerequisites required by the testing libraries. So you may wish not to run all of your tests by default when the end-user installs your module.

Pete Sergeant (sheriff on IRC) suggests using an environment variable for doing this:

The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
Without JavaScript enabled, you might want to
use the classic discussion system instead. If you login, you can remember this preference.

is $ENV{AUTOMATED_TESTING} (as a few others have noted).I use this for my developer tests as well, since it's never a bad idea to have the other CPAN testers rerun your developer tests in other contexts.

The other thing this can allow you to do is avoid the eval stuff and make sure you have the modules when you need them.