NAME

Test::Auto::Plugin

ABSTRACT

Test-Auto Plugin Class

SYNOPSIS

package Test::Auto::Plugin::Example;

use Test::More;

use parent 'Test::Auto::Plugin';

sub tests {
  my ($self, @args) = @_;

  subtest "testing example plugin", fun () {

    ok 1;
  };

  return $self;
}

1;

DESCRIPTION

This package provides an abstract base class for creating Test::Auto plugins.

LIBRARIES

This package uses type constraints from:

Data::Object::Library

ATTRIBUTES

This package has the following attributes:

subtests

subtests(InstanceOf["Test::Auto::Subtests"])

This attribute is read-only, accepts (InstanceOf["Test::Auto::Subtests"]) values, and is required.

METHODS

This package implements the following methods:

tests

tests(Any @args) : Object

This method is meant to be overridden by the superclass, and should perform specialized subtests. While not required, ideally this method should return its invocant.

tests example #1
package main;

use Test::Auto;
use Test::Auto::Parser;
use Test::Auto::Subtests;

my $test = Test::Auto->new(
  't/Test_Auto_Plugin.t'
);

my $parser = Test::Auto::Parser->new(
  source => $test
);

my $subtests = Test::Auto::Subtests->new(
  parser => $parser
);

# Test::Auto::Plugin::ShortDescription
my $example = $subtests->plugin('ShortDescription');

$example->tests(length => 200);

AUTHOR

Al Newkirk, awncorp@cpan.org

LICENSE

Copyright (C) 2011-2019, Al Newkirk, et al.

This is free software; you can redistribute it and/or modify it under the terms of the The Apache License, Version 2.0, as elucidated in the "license file".

PROJECT

Wiki

Project

Initiatives

Milestones

Issues