Test::Approvals - Capture human intelligence in your tests
This documentation refers to Test::Approvals version v0.0.4
use Test::Approvals qw(use_reporter verify_ok); use_reporter('Test::Approvals::Reporters::DiffReporter'); verify_ok 'Hello', 'Hello Test';
The Test::Approvals modules provides the top level interface to ApprovalTestss for Perl. You can use ApprovalTests to verify objects that require more than a simple assert, including long strings, large arrays, and complex hash structures and objects. Perl already has great modules that overlap with ApprovalTests, but Test::Approvals really shines when you take advantage of reporters to provide different views into failing tests. Sometimes printing to STDOUT just isn't enough.
my $namer = namer();
Gets the currently configured Test::Approvals::Namers:: instance.
my $reporter = reporter();
Gets the currently configured Test::Approvals::Reporters:: instance.
my $namer = use_name('My Test Name');
Construct a namer for the specified name, configure it as the current instance, and return the instance.
my $reporter = use_reporter('Test::Approvals::Reporters::DiffReporter');
Construct a reporter of the specified type, configure it as the current instance, and return the instance.
my $reporter = Test::Approvals::Reporters::DiffReporter->new(); my $ref = use_reporter_instance($reporter);
Like 'use_reporter', but use the provided instance instead of constructing a new instance.
my $ok = verify('Hello'); ok $ok, 'My Test';
Construct a writer for the specified data and use it (along with the current namer and reporter instances) to verify against the approved data. Returns a value indicating whether the data matched. The reporter is launched when appropriate.
You can pass anything to verify that Perl can easily stringify in a scalar context. So, passing an array, a hash, or raw reference to verify is not going to produce useful results. In these cases, take advantage of Data::Dumper.
use Data::Dumper; my %person = ( First => 'Fred', Last => 'Flintrock' ); ok verify(Dumper( \%person )), 'Fred test';
use_name('Hello Test'); verify_ok('Hello');
Like 'verify', but also automatically call 'ok' with the test name provided by the current namer instance. Or you can pass the name explicitly for a more traditional Test::More experience:
verify_ok 'Hello', 'Hello Test';
None at this time.
Exporter Test::Builder version
Windows-only. Linux/OSX/other support will be added when time and access to those platforms permit.
Jim Counts - @jamesrcounts
Copyright (C) 2013 Jim Counts
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.