Skip to content
DBIx::Class schema sanity checking tests http://search.cpan.org/dist/Test-DBIx-Class-Schema/
Perl Shell
Find file
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
lib/Test/DBIx/Class
t
.gitignore
Changes
README.mkdn
dist.ini

README.mkdn

NAME

Test::DBIx::Class::Schema

VERSION

version 0.01016

SYNOPSIS

Create a test script that looks like this:

#!/usr/bin/perl
# vim: ts=8 sts=4 et sw=4 sr sta
use strict;
use warnings;

# load the module that provides all of the common test functionality
use Test::DBIx::Class::Schema;

# create a new test object
my $schematest = Test::DBIx::Class::Schema->new(
    {
        # required
        dsn       => 'dbi:Pg:dbname=mydb',
        namespace => 'MyDB::Schema',
        moniker   => 'SomeTable',
        # optional
        username  => 'some_user',
        password  => 'opensesame',
        # rather than calling diag will test that all columns/relationships
        # are accounted for in your test and fail the test if not
        test_missing => 1,
    }
);

# tell it what to test
$schematest->methods(
    {
        columns => [
            qw[
                id
                column1
                column2
                columnX
                foo_id
            ]
        ],

        relations => [
            qw[
                foo
            ]
        ],

        custom => [
            qw[
                some_method
            ]
        ],

        resultsets => [
            qw[
            ]
        ],
    }
);

# run the tests
$schematest->run_tests();

Run the test script:

prove -l t/schematest/xx.mydb.t

done_testing

Under normal circumstances there is no need to add done_testing to your test script; it's automatically called at the end of run_tests() unless you are running tests under Test::Aggregate.

If you are running aggregated tests you will need to add

done_testing;

to your top-level script.

DESCRIPTION

It's really useful to be able to test and confirm that DBIC classes have and support a known set of methods.

Testing these one-by-one is more than tedious and likely to discourage you from writing the relevant test scripts.

As a lazy person myself I don't want to write numerous near-identical scripts.

Test::DBIx::Class::Schema takes the copy-and-paste out of DBIC schema class testing.

NAME

Test::DBIx::Class::Schema - DBIx::Class schema sanity checking tests

SEE ALSO

DBIx::Class, Test::More, Test::Aggregate

CONTRIBUTORS

Gianni Ceccarelli <dakkar@thenautilus.net>, Darius Jokilehto Jason Tang <tang.jason.ch@gmail.com>,

AUTHOR

Chisel Wright chisel@chizography.net

COPYRIGHT AND LICENSE

This software is copyright (c) 2011 by Chisel Wright.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.

Something went wrong with that request. Please try again.