Wiki::Toolkit::TestLib3pm
Utilities for writing wiki::toolkit tests.
Usage
use strict;use Wiki::Toolkit::TestLib;use Test::More;my $iterator = Wiki::Toolkit::TestLib->new_wiki_maker;plan tests => ( $iterator->number * 6 );while ( my $wiki = $iterator->new_wiki ) {# put some test data in# run six tests}
Each time you call "->next" on your iterator, you will get a fresh blank wiki object. The iterator will iterate over all configured search and storage backends.
The Lucy search backend will be configured to index three metadata fields: address, category, and locale.
Overview
When 'perl Makefile.PL' is run on a Wiki::Toolkit distribution, information will be gathered about test databases etc that can be used for running tests. Wiki::Toolkit::TestLib gives convenient access to this information.
Methods
new_wiki_maker-
my $iterator = Wiki::Toolkit::TestLib->new_wiki_maker;
number-
use Test::More;my $iterator = Wiki::Toolkit::TestLib->new_wiki_maker;plan tests => ( $iterator->number * 6 );Returns the number of new wikis that your iterator will be able to give you.
new_wiki-
my $wiki = $iterator->new_wiki;Returns a fresh blank wiki object, or false if you've used up all the configured search and storage backends.
configured_databases-
my @configured_databases = $iterator->configured_databases;Returns the @configured_databases array detailing configured test databases.Useful for very low-level testing only.
Caveats
If you have the Search::InvertedIndex backend configured (see Wiki::Toolkit::Search::SII) then your tests will raise warnings like
(in cleanup) Search::InvertedIndex::DB::Mysql::lock() -testdb is not open. Can't lock.at /usr/local/share/perl/5.6.1/Search/InvertedIndex.pm line 1348
or
(in cleanup) Can't call method "sync" on an undefined valueat /usr/local/share/perl/5.6.1/Tie/DB_File/SplitHash.pm line 331during global destruction.
in unexpected places. I don't know whether this is a bug in me or in Search::InvertedIndex.
Releases
10 releases since Debian 4.0 (Etch); the text changed 6 times.