NAME

DBICTest - Library to be used by DBIx::Class test scripts.

SYNOPSIS

use lib qw(t/lib);
use DBICTest;
use Test::More;

my $schema = DBICTest->init_schema();

DESCRIPTION

This module provides the basic utilities to write tests against DBIx::Class.

METHODS

init_schema

my $schema = DBICTest->init_schema(
  no_deploy=>1,
  no_populate=>1,
  storage_type=>'::DBI::Replicated',
  storage_type_args=>{
    balancer_type=>'DBIx::Class::Storage::DBI::Replicated::Balancer::Random'
  },
);

This method removes the test SQLite database in t/var/DBIxClass.db and then creates a new, empty database.

This method will call deploy_schema() by default, unless the no_deploy flag is set.

Also, by default, this method will call populate_schema() by default, unless the no_deploy or no_populate flags are set.

deploy_schema

DBICTest->deploy_schema( $schema );

This method does one of two things to the schema. It can either call the experimental $schema->deploy() if the DBICTEST_SQLT_DEPLOY environment variable is set, otherwise the default is to read in the t/lib/sqlite.sql file and execute the SQL within. Either way you end up with a fresh set of tables for testing.

populate_schema

DBICTest->populate_schema( $schema );

After you deploy your schema you can use this method to populate the tables with test data.