1. Module of the month May 2014: Test::More

    Welcome to Module of the Month, a recurring post which we plan to do once every month or so. We plan to highlight particular modules which we use to make Nestoria and tell you about how we use them and why we think they are great.

    To sweeten the deal each Module of the Month will come with a $1/week donation to somebody involved with that project, which we plan to do over Gittip. Gittip is a great way to give back to open source contributors and we look forward to rewarding open source authors every month.

    So, without further ado, congratulations to our first Module of the Month: Test::More.

    Test::More (and Test-Simple) is the core of Perl testing. Test::Builder is the secret sauce that allows every Test::* module to work together with a unified plan and sane TAP output, and without it we’d all be implementing our own versions of Test::Exception, Test::Deep, Test::NoWarnings, etc. Test::More is the perfect minimum viable product for Test::Builder, you use it and it simply gets out of your way while you write your tests in an easy and fluid way.

    At Nestoria, we test everything. For just our unit tests we have 17,000 assertions across 650 files, and every single one uses Test::More[0]. The tests are easy to write, hugely flexible (they’re Perl after all), and they run in a little over 5 minutes.

    Thanks to our big test suite we can release new versions of our code every day, which in turn keeps the size of those releases small allowing for fewer bugs to creep in or less pain if a release has to be rolled back. Our tests help our developers think through their problems, help make sure bugs never happen twice, and ensure that new features get in front of our users quickly and painlessly.

    So thanks Test::More, for making Nestoria better than it would be without you!

    Our Gittip donation is going to Michael G Schwern. He is not the author of the latest Test-Simple release on CPAN, but it’s pretty clear from Github that he deserves a really big chunk of the credit. Plus he’s on Gittip already :-)

    If you have any Module of the Month suggestions[1] for June please leave them in the comments. And if you’d like to keep us to our word you can see our donations summarized on the Nestoria Gittip page.

    [0] Technically they use Lokku::Test, but that includes Test::More thanks to Test::Kit :-)

    [1] Despite the name I’m sure we are going to do projects other than Perl modules. For example I’m sure that Grunt is going to get some love in an upcoming month.