Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
Log::Any::Test(3)     User Contributed Perl Documentation    Log::Any::Test(3)

NAME
       Log::Any::Test -	Test what you're logging with Log::Any

VERSION
       version 1.707

SYNOPSIS
	   use Test::More;
	   use Log::Any::Test;	  # should appear before 'use Log::Any'!
	   use Log::Any	qw($log);

	   # ...
	   # call something that logs using Log::Any
	   # ...

	   # now test to make sure you logged the right	things

	   $log->contains_ok(qr/good log message/, "good message was logged");
	   $log->does_not_contain_ok(qr/unexpected log message/, "unexpected message was not logged");
	   $log->empty_ok("no more logs");

	   # or

	   my $msgs = $log->msgs;
	   cmp_deeply($msgs, [{message => 'msg1', level	=> 'debug'}, ...]);

DESCRIPTION
       "Log::Any::Test"	is a simple module that	allows you to test what	has
       been logged with	Log::Any. Most of its API and implementation have been
       taken from Log::Any::Dispatch.

       Using "Log::Any::Test" signals "Log::Any" to send all subsequent	log
       messages	to a single global in-memory buffer and	to make	the log	proxy
       provide a number	of testing functions.  To use it, load
       "Log::Any::Test"	before anything	that loads "Log::Any".	To actually
       use the test methods, you need to load "Log::Any" and get a log object
       from it,	as shown in the	"SYNOPSIS".

METHODS
       The test_name is	optional in the	*_ok methods; a	reasonable default
       will be provided.

       msgs ()
	   Returns the current contents	of the global log buffer as an array
	   reference, where each element is a hash containing a	category,
	   level, and message key.  e.g.

	     {
	       category	=> 'Foo',
	       level =>	'error',
	       message => 'this	is an error'
	     },
	     {
	       category	=> 'Bar::Baz',
	       level =>	'debug',
	       message => 'this	is a debug'
	     }

       contains_ok ($regex[, $test_name])
	   Tests that a	message	in the log buffer matches $regex. On success,
	   the message is removed from the log buffer (but any other matches
	   are left untouched).

       does_not_contain_ok ($regex[, $test_name])
	   Tests that no message in the	log buffer matches $regex.

       category_contains_ok ($category,	$regex[, $test_name])
	   Tests that a	message	in the log buffer from a specific category
	   matches $regex. On success, the message is removed from the log
	   buffer (but any other matches are left untouched).

       category_does_not_contain_ok ($category,	$regex[, $test_name])
	   Tests that no message from a	specific category in the log buffer
	   matches $regex.

       empty_ok	([$test_name])
	   Tests that there is no log buffer left. On failure, the log buffer
	   is cleared to limit further cascading failures.

       contains_only_ok	($regex[, $test_name])
	   Tests that there is a single	message	in the log buffer and it
	   matches $regex. On success, the message is removed.

       clear ()
	   Clears the log buffer.

SEE ALSO
       Log::Any, Test::Log::Dispatch

AUTHORS
       o   Jonathan Swartz <swartz@pobox.com>

       o   David Golden	<dagolden@cpan.org>

       o   Doug	Bell <preaction@cpan.org>

       o   Daniel Pittman <daniel@rimspace.net>

       o   Stephen Thirlwall <sdt@cpan.org>

COPYRIGHT AND LICENSE
       This software is	copyright (c) 2017 by Jonathan Swartz, David Golden,
       and Doug	Bell.

       This is free software; you can redistribute it and/or modify it under
       the same	terms as the Perl 5 programming	language system	itself.

perl v5.32.0			  2018-08-02		     Log::Any::Test(3)

NAME | VERSION | SYNOPSIS | DESCRIPTION | METHODS | SEE ALSO | AUTHORS | COPYRIGHT AND LICENSE

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=Log::Any::Test&sektion=3&manpath=FreeBSD+12.2-RELEASE+and+Ports>

home | help