Lire::Test::PluginTestCase(3) Base class for writing Plugin unit tests

SYNOPSIS


use base qw/ Lire::Test::PluginTestCase /;
use MyPlugin;
use File::Basename;
sub create_plugin {
return new MyPlugin();
}
sub registration_file {
return dirname( __FILE__ ) . "../../plugin_init";
}

DESCRIPTION

This is a Test::Unit::TestCase subclass which can be used to easily write tests for Lire::Plugin. This class implements what is needed to provide the necessary fixture in the set_up() and tear_down().

It provides two base tests: test_api() and test_registration_file().

The test class needs to implement two methods to help complete the fixture.

FIXTURES

These are the methods that subclasses will usually override to provide the necessary data so that the ChartType test fixtures be setup.

registration_file()

This should return the script that is responsible for registring the analyser with the Lire::PluginManager. This is used by the default test_registration_file().

properties_spec_file()

If this method returns a filename, it will be set as the default configuration spec for the test. Use it when the plugin has properties.

create_plugin()

This should return an instance of the Lire::Plugin instance to test.

DEFAULT TESTS

test_api()

Make sure that all methods required by Lire::Plugin are implemented.

It checks that description() formats correctly as DocBook.

test_registration_file()

Checks that the registration script correctly registers the analyser with the PluginManager.

AUTHOR

Francis J. Lacoste <[email protected]>

VERSION

$Id: PluginTestCase.pm,v 1.2 2006/07/23 13:16:32 vanbaal Exp $

COPYRIGHT

Copyright (C) 2004 Stichting LogReport Foundation [email protected]

This file is part of Lire.

Lire is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program (see COPYING); if not, check with http://www.gnu.org/copyleft/gpl.html.