NAME
Test::SQLite - SQLite setup/teardown for tests
VERSION
version 0.0410
SYNOPSIS
use DBI;
use Test::SQLite;
# An empty test db:
my $sqlite = Test::SQLite->new;
my $dbh = $sqlite->dbh;
# Fiddle with the test database...
$dbh->disconnect;
# Use an in-memory test db:
$sqlite = Test::SQLite->new(memory => 1);
# Copy a database file to the test db:
$sqlite = Test::SQLite->new(database => '/some/where/database.db');
# Use a schema file to create the test db:
$sqlite = Test::SQLite->new(
schema => '/some/where/schema.sql',
db_attrs => { RaiseError => 1, AutoCommit => 0 },
);
# Explicitly use the dsn and db_attrs to connect:
$dbh = DBI->connect($sqlite->dsn, '', '', $sqlite->db_attrs);
# Fiddle with the test database...
$dbh->commit;
$dbh->disconnect;
DESCRIPTION
Test::SQLite
is inspired by Test::PostgreSQL and Test::mysqld, and creates a temporary sqlite database to use in tests.
This module will also return the database dbh handle, dsn connection string, and db_attrs connection attributes.
ATTRIBUTES
database
The existing database to copy to create a new test database.
has_database
Boolean indicating that a database file was provided to the constructor.
schema
The SQL schema with which to create a test database.
* The SQL parsing done by this module does not handle triggers.
has_schema
Boolean indicating that a schema file was provided to the constructor.
memory
Create a test database in memory.
has_memory
Boolean indicating that memory was provided to the constructor.
db_attrs
DBI connection attributes.
Default: { RaiseError => 1, AutoCommit => 1 }
dsn
The database connection string. This is a computed attribute and an argument given to the constructor will be ignored.
dbh
A connected database handle based on the dsn and db_attrs. This is a computed attribute and an argument given to the constructor will be ignored.
METHODS
new
$sqlite = Test::SQLite->new;
$sqlite = Test::SQLite->new(%arguments);
Create a new Test::SQLite
object.
SEE ALSO
The t/01-methods.t file in this distribution.
The eg/dbic.t example test in this distribution.
THANK YOU
Kaitlyn Parkhurst (SYMKAT) <symkat@symkat.com>
AUTHOR
Gene Boggs <gene@cpan.org>
COPYRIGHT AND LICENSE
This software is copyright (c) 2022 by Gene Boggs.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.