---
name: "Lire::Test::TestCase"
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::TestCase"
---

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

Common base for Lire test cases.

## NAME

Lire::Test::TestCase - Common base for Lire test cases.

## SYNOPSIS

```
 use base qw/Lire::Test::TestCase/;
 sub set_up {
     my $self = shift->SUPER::set_up();
     $self->{'cfg'}{'lr_schemas_path'} = [ $self->{'tmpdir'} ];
 }
```

## DESCRIPTION

This package can be used to write test cases for Lire instead of inheriting directly from Test::Unit::TestCase.

The default set\_up method will create a Lire::Test::HashConfig object and set it up in the configuration framework. This makes it easy to set configuration variables to arbitrary values in the **set\_up()** method.

It also sets the LC\_MESSAGES locale category to 'C'.

If you override **set\_up()** and **tear\_down()** be sure to call the SUPER:: implementation.

This subclass also defined a new kind of assertion which make sure that a snippet of code died with a proper error message.

### assert\_died( $test, $regex, \[ $msg \] )

Execute `$test` and fail unless it dies with a message matching `$regex`. `$test` should be a reference to CODE. `$regex` should be a Regexp ref.

### assert\_dies( $regex, $test, \[ $msg \] )

Like **assert\_died()** but with a signature closer to the one defined in Test::Unit::Assert.

### assert\_isa( $class, $instance, \[ $msg \] )

Fails unless `$instance` is an instance of `$class`.

## FIXTURE RELATED METHOD

### lire\_default\_config\_spec()

Returns a Lire::Config::ConfigSpec object initialized from the default Lire configuration specification.

### set\_up\_tz( $tz )

When you tests uses **timelocal()** or **localtime()**, you should use that method to specify the TZ under which it should run.

The TZ will be reset to its previous value during **tear\_down()**.

### set\_up\_plugin\_mgr()

This will make the global PluginManager an instance that will only live for the current test. The old PluginManager will be reinstated during **tear\_down()**. This way, you do not need to track calls to **register\_plugin()**.

## SEE ALSO

[**Test::Unit::TestCase**(3pm)](/Test::Unit::TestCase/3pm.md)

## VERSION

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

## AUTHORS

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

## COPYRIGHT

Copyright (C) 2003, 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.
