NAME
Dist::Zilla::Plugin::Test::Inline - Create test files from inline tests in POD sections
VERSION
version 0.011005
SYNOPSIS
In your 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.
DESCRIPTION
This plugin integrates Test::Inline into 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.
Please note that this plugin (in contrast to pure Test::Inline) can also handle Moops-like class and role definitions.
Files to be scanned for inline tests
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
.
METHODS
gather_files
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.
register_prereqs
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.
ACKNOWLEDGEMENTS
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 ;-)
AUTHOR
Jens Berthold <jens.berthold@jebecs.de>
COPYRIGHT AND LICENSE
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.