Dist::Zilla::Plugin::Test::Inline - Create test files from inline tests in POD sections
version 0.011005
In your dist.ini:
dist.ini
[Test::Inline]
In your module:
# My/AddressRange.pm =begin testing use Test::Exception; dies_ok { My::AddressRange->list_from_range('10.2.3.A', '10.2.3.5') } "list_from_range() complains about invalid address"; =end testing =cut sub list_from_range { # ... }
This will result in a file t/inline-tests/my_addressrange.t in your distribution.
t/inline-tests/my_addressrange.t
This plugin integrates Test::Inline into Dist::Zilla.
Dist::Zilla
It scans all non-binary files in the lib path of your distribution for inline tests in POD sections that are embedded between the keywords
=begin testing ... =end testing
These tests are then exported into t/inline-tests/*.t files when Dist::Zilla builds your module. Multiple of test sections may be specified within one file.
t/inline-tests/*.t
Please note that this plugin (in contrast to pure Test::Inline) can also handle Moops-like class and role definitions.
Only files already gathered by previous file gatherer plugins are scanned. In other words: tests will not be extracted for files which have been excluded.
Example:
[GatherDir] exclude_match = Hidden\.pm [Test::Inline]
This will lead to Dist::Zilla::Plugin::Test::Inline ignoring Hidden.pm.
Dist::Zilla::Plugin::Test::Inline
Hidden.pm
Required by role Dist::Zilla::Role::FileGatherer.
Searches for inline test code in POD sections using Test::Inline, creates in-memory test files and passes them to Dist::Zilla.
Required by role Dist::Zilla::Role::PrereqSource.
Adds Test::More to the list of prerequisites (as Test::Inline inserts use Test::More;) for the distribution that uses this plugin.
use Test::More;
The code of this Dist::Zilla file gatherer plugin is based on https://github.com/moose/moose/blob/master/inc/ExtractInlineTests.pm.
Dave Rolsky <autarch@urth.org>, who basically wrote most of this but left the honor of making a plugin out of it to me ;-)
Jens Berthold <jens.berthold@jebecs.de>
This software is copyright (c) 2015 by Jens Berthold.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
To install Dist::Zilla::Plugin::Test::Inline, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Dist::Zilla::Plugin::Test::Inline
CPAN shell
perl -MCPAN -e shell install Dist::Zilla::Plugin::Test::Inline
For more information on module installation, please visit the detailed CPAN module installation guide.