From Code to Community: Sponsoring The Perl and Raku Conference 2025 Learn more

NAME

Test::DBUnit::Generator - dbunit dataset generator

SYNOPSIS

my $connection = DBIx::Connection->new(
name => 'test',
dsn => $ENV{DB_TEST_CONNECTION},
username => $ENV{DB_TEST_USERNAME},
password => $ENV{DB_TEST_PASSWORD},
);
my $generator = Test::DBUnit::Generator->new(
connection => $connection,
datasets => {
emp => 'SELECT * FROM emp',
dept => 'SELECT * FROM demp',
},
);
print $generator->xml_dataset;
print $generator->dataset;
pritn $generator->schema_validator(
has_table => 1,
has_columns => 1,
has_pk => 1,
has_fk => 1,
has_index => 1,
);

DESCRIPTION

This class generates xml or perl test datasets based on passed in sql. Additionally it can generate schema validator code.

ATTRIBUTES

connection
datasets_order

Specifies order of the dataset in the generation result.

my $generator = Test::DBUnit::Generator->new(
connection => $connection,
datasets_order => ['emp', 'dept'],
datasets => {
emp => 'SELECT * FROM emp',
dept => 'SELECT * FROM demp',
},
);
datasets

METHODS

xml_dataset

Returns xml content that contains dataset

dataset

Generated dataset as perl code

_inscrease_tests_no
schema_validator

Generates schema validation code. Takes the following options as paramters:

has_table => 1, has_columns => 1, has_pk => 1, has_fk => 1, has_index => 1,

_has_table
_dataset_order
_has_columns
_has_pk
_has_fk
_has_index
_select_dataset

Returns dataset structure