---
name: "Lire::Test::PluginTestCase"
section: "3pm"
platform: "linux"
package: "lire"
version: "2.1.1-8"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/Lire::Test::PluginTestCase"
---

# Lire::Test::PluginTestCase(3pm)

Base class for writing Plugin unit tests

## NAME

Lire::Test::PluginTestCase - 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.

## SEE ALSO

[**Lire::Test::TestCase**(3pm)](/Lire::Test::TestCase/3pm.md), [**Lire::Plugin**(3pm)](/Lire::Plugin/3pm.md)

## AUTHOR

Francis J. Lacoste \<flacoste@logreport.org\>

## VERSION

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

## COPYRIGHT

Copyright (C) 2004 Stichting LogReport Foundation LogReport@LogReport.org

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.
