DBICx::TestDatabase::Subclass(3pm) | User Contributed Perl Documentation | DBICx::TestDatabase::Subclass(3pm) |
NAME¶
DBICx::TestDatabase::Subclass - a DBICx::TestDatabase you can add your own methods to
SYNOPSIS¶
Your test database subclass:
package MyApp::TestDatabase use base qw(DBICx::TestDatabase::Subclass MyApp::Schema); sub foo { my $self = shift; return $self->resultset('Foo')->create({ foo => 'bar' }); }
Later:
use MyApp::TestDatabase; my $schema = MyApp::TestDatabase->connect; my $foo_row = $schema->foo; # MyApp::TestDatabase::foo my $bars = $schema->resultset('Bar'); # MyApp::Schema::resultset
DESCRIPTION¶
Sometimes DBICx::TestDatabase doesn't give you enough control over the object returned. This module lets you create a custom test database class.
METHODS¶
connect¶
This method creates the temporary database and returns the connection. If your subclass needs to change the way connect works, do something like this:
sub connect { my ($class) = @_; say 'This happens before we create the test database.'; my $schema = $class->next::method; say '$schema is the temporary test database'; return $schema; }
SEE ALSO¶
If you want a simple test database based on a DBIC schema, just use DBICx::TestDatabase.
AUTHOR¶
Jonathan Rockway "<jrockway@cpan.org>"
LICENSE¶
Copyright (c) 2007 Jonathan Rockway.
This program is free software. You may use, modify, and redistribute it under the same terms as Perl itself.
2022-06-13 | perl v5.34.0 |