-
-
04 Mar 2022 23:11:08 UTC
- Distribution: Test2-Suite
- Module version: 0.000145
- Source (raw)
- Browse (raw)
- Changes
- How to Contribute
- Repository
- Issues (54)
- Testers (1806 / 43 / 0)
- Kwalitee
Bus factor: 7- 88.51% Coverage
- License: perl_5
- Perl: v5.8.1
- Activity
24 month- Tools
- Download (224.54KB)
- MetaCPAN Explorer
- Permissions
- Subscribe to distribution
- Permalinks
- This version
- Latest version
NAME
Test2::Require - Base class and documentation for skip-unless type test packages.
DESCRIPTION
Test2::Require::* packages are packages you load to ensure your test file is skipped unless a specific requirement is met. Modules in this namespace may subclass Test2::Require if they wish, but it is not strictly necessary to do so.
HOW DO I WRITE A 'REQUIRE' MODULE?
AS A SUBCLASS
package Test2::Require::Widget; use strict; use warnings; use base 'Test2::Require'; sub HAVE_WIDGETS { ... }; sub skip { my $class = shift; my @import_args = @_; if (HAVE_WIDGETS()) { # We have widgets, do not skip return undef; } else { # No widgets, skip the test return "Skipped because there are no widgets" unless HAVE_WIDGETS(); } } 1;
A subclass of Test2::Require simply needs to implement a
skip()
method. This method will receive all import arguments. This method should return undef if the test should run, and should return a reason for skipping if the test should be skipped.STAND-ALONE
If you do not wish to subclass Test2::Require then you should write an
import()
method:package Test2::Require::Widget; use strict; use warnings; use Test2::API qw/context/; sub HAVE_WIDGETS { ... }; sub import { my $class = shift; # Have widgets, should run. return if HAVE_WIDGETS(); # Use the context object to create the event my $ctx = context(); $ctx->plan(0, SKIP => "Skipped because there are no widgets"); $ctx->release; } 1;
SOURCE
The source code repository for Test2-Suite can be found at https://github.com/Test-More/Test2-Suite/.
MAINTAINERS
AUTHORS
COPYRIGHT
Copyright 2018 Chad Granum <exodist@cpan.org>.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
See http://dev.perl.org/licenses/
Module Install Instructions
To install Test2::Suite, copy and paste the appropriate command in to your terminal.
cpanm Test2::Suite
perl -MCPAN -e shell install Test2::Suite
For more information on module installation, please visit the detailed CPAN module installation guide.