NAME
Test2::Tools::HarnessTester - Run events through a harness for a summary
DESCRIPTION
This tool allows you to process events through the Test2::Harness auditor. The main benefit here is to get a pass/fail result, as well as counts for assertions, failures, and errors.
SYNOPSIS
use
Test2::V0;
my
$events
= intercept {
ok(1,
"pass"
);
ok(2,
"pass gain"
);
done_testing;
};
is(
summarize_events(
$events
),
{
# Each of these is the negation of the other, no need to check both
pass
=> 1,
fail
=> 0,
# The plan facet, see Test2::EventFacet::Plan
plan
=> {
count
=> 2},
# Statistics
assertions
=> 2,
errors
=> 0,
failures
=> 0,
}
);
EXPORTS
$summary = summarize_events($events)
This takes an arrayref of events, such as that produced by intercept {...}
from Test2::API. The result is a hashref that summarizes the results of the events as processed by Test2::Harness, specifically the Test2::Harness::Auditor::Watcher module.
Fields in the summary hash:
- pass => $BOOL
- fail => $BOOL
-
These are negatives of eachother. These represent the pass/fail state after processing the events. When one is true the other should be false. These are normalized to
1
and0
. - plan => $HASHREF
-
If a plan was provided this will have the Test2::EventFacet::Plan facet, but as a hashref, not a blessed instance.
Note: This is reference to the original data, not a copy, if you modify it you will modify the event as well.
- assertions => $INT
-
Count of assertions made.
- errors => $INT
-
Count of errors seen.
- failures => $INT
-
Count of failures seen.
$path = make_example_dir()
This will create a temporary directory with 't', 't2', and 'xt' subdirectories each of which will contain a single passing test.
This is re-exported from App::Yath::Tester.
SOURCE
The source code repository for Test2-Harness can be found at http://github.com/Test-More/Test2-Harness/.
MAINTAINERS
AUTHORS
COPYRIGHT
Copyright 2020 Chad Granum <exodist7@gmail.com>.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
See http://dev.perl.org/licenses/