NAME
TB2::Formatter - Base class for formatting test results
SYNOPSIS
package TB2::Formatter::SomeFormat;
use TB2::Mouse;
extends "TB2::Formatter;
DESCRIPTION
Test::Builder2 delegates the actual formating of test results to a TB2::Formatter object. This can then decide if it's going to formatter TAP or XML or send email or whatever.
A Formatter is just a special TB2::EventHandler which can produce output.
METHODS
You must implement handle
methods as any EventHandler
.
In addition...
Attributes
streamer_class
Contains the class to use to make a Streamer.
Defaults to $formatter->default_streamer_class
streamer
Contains the Streamer object to write to. One will be created for you using $formatter->streamer_class
.
By default, the subtest handler inherits its parent's streamer.
Methods
new
my $formatter = TB2::Formatter->new(%args);
Creates a new formatter object to feed results to.
You want to call this on a subclass.
write
$formatter->write($destination, @text);
Outputs @text
to the named $destination.
@text
is treated like print
, so it is simply concatenated.
In reality, this is a hand off to $formatter->streamer->write
.
reset_streamer
$formatter->reset_streamer;
Changes $formatter->streamer
back to the default.
object_id
my $id = $thing->object_id;
Returns an identifier for this object unique to the running process. The identifier is fairly simple and easily predictable.
See TB2::HasObjectID