Provided by: libdbi-test-perl_0.001-4_all bug

NAME

       DBI::Test - Test suite for DBI API

SYNOPSIS

       In Makefile.PL:

           use lib 'lib'; # to allow DBI::Test finds the test cases of your driver
           use DBI::Test::Conf ();
           my @generated_tests = DBI::Test::Conf->setup();
           WriteMakefile (
               test => {
                   TESTS           => join (' ' => 'xt/*.t', @generated_tests),
               },
               clean => { FILES => join( " " => @generated_tests ) }
           );

       You provide

           package DBI::Test::Your::Namespace::List;

           sub test_cases
           {
               return qw(...); # list of the test cases you provide
           }

           package DBI::Test::Your::Namespace::Conf;

           sub conf
           {
               my %conf = (
                   gofer => {
                                category   => "Gofer",
                                cat_abbrev => "g",
                                abbrev     => "b",
                                init_stub  => qq(\$ENV{DBI_AUTOPROXY} = 'dbi:Gofer:transport=null;policy=pedantic';),
                                match      => sub {
                                                my ($self, $test_case, $namespace, $category, $variant) = @_;
                                                ...
                                         },
                                name => "Gofer Transport",
                              },
                          );
           }

           package DBI::Test::Your::Namespace::Case::Your::First;

           ... # will be t/your/namespace/your/first.t

           package DBI::Test::Your::Namespace::Case::Your::Second;

           ... # will be t/your/namespace/your/second.t

           1;

       And enhance DBI::Test with own test cases.

DESCRIPTION

       This module aims to be a test suite for the DBI API and an underlying DBD driver, to check if the
       provided functionality is working and complete.

       Part of this module is the ability for self-testing using DBI::Mock.  This is not designed to be another
       DBI::PurePerl - it's designed to allow tests can be verified to work as expected in a sandbox. This is,
       of course, limited to DBI API itself and cannot load any driver nor really execute any action.

EXPORTS

   connect_ok
         $dbh = connect_ok($dsn, $user, $pass, \%attrs, $test_name);

       connect_ok invokes DBI-> and proves the result in an ok.  The created database handle ($dbh) is returned,
       if any.

   connect_not_ok
         $dbh = connect_not_ok($dsn, $user, $pass, \%attrs, $test_name);

       connect_not_ok invokes DBI-> and proves the result in an ok (but expects that there is no $dsn returned).
       The created database handle ($dbh) is returned, if any.

   prepare_ok
         $sth = prepare_ok($dbh, $stmt, \%attrs, $test_name);

       prepare_ok invokes $dbh->prepare and proves the result in an ok. The resulting statement handle ($sth) is
       returned, if any.

   execute_ok
         $rv = execute_ok($sth, $test_name);
         $rv = execute_ok($sth, @bind_values, $test_name);

       execute_ok invokes $sth->excute and proves the result via ok.  The value got from $sth->execute is
       returned.

   execute_not_ok
         $rv = execute_not_ok($sth, $test_name);
         $rv = execute_not_ok($sth, @bind_values, $test_name);

       execute_not_ok invokes $sth->excute and proves the result via is(undef).  The value got from
       $sth->execute is returned.

   do_ok
         $rv = do_ok($dbh, $test_name);
         $rv = do_ok($dbh, @bind_values, $test_name);

       do_ok invokes $dbh->do and proves the result via ok.  The value got from $dbh->do / $sth->execute is
       returned.

   do_not_ok
         $rv = do_not_ok($dbh, $test_name);
         $rv = do_not_ok($dbh, @bind_values, $test_name);

       do_not_ok invokes $dbh->do and proves the result via is(undef).  The value got from $dbh->do /
       $sth->execute is returned.

GOAL

   TODO
   Source
       Recent changes can be (re)viewed in the public GIT repository at GitHub
       <https://github.com/perl5-dbi/DBI-Test> Feel free to clone your own copy:

        $ git clone https://github.com/perl5-dbi/DBI-Test.git DBI-Test

   Contact
       We are discussing issues on the DBI development mailing list 1) and on IRC 2)

        1) The DBI team <dbi-dev@perl.org>
        2) irc.perl.org/6667 #dbi

SUPPORT

       You can find documentation for this module with the perldoc command.

           perldoc SQL::Statement

       You can also look for information at:

       •   RT: CPAN's request tracker

           <http://rt.cpan.org/NoAuth/Bugs.html?Dist=DBI-Test>

       •   AnnoCPAN: Annotated CPAN documentation

           <http://annocpan.org/dist/DBI-Test>

       •   CPAN Ratings

           <http://cpanratings.perl.org/s/DBI-Test>

       •   CPAN Search

           <http://search.cpan.org/dist/DBI-Test/>

   Reporting bugs
       If  you  think  you've  found  a  bug  then please read "How to Report Bugs Effectively" by Simon Tatham:
       <http://www.chiark.greenend.org.uk/~sgtatham/bugs.html>.

       Your problem is most likely related to the specific DBD driver module you're using. If  that's  the  case
       then click on the 'Bugs' link on the <http://metacpan.org> page for your driver. Only submit a bug report
       against the DBI::Test itself if you're sure that your issue isn't related to the driver you're using.

TEST SUITE

       DBI::Test  comes  with  some basic tests to test itself and DBI::Mock.  The same tests are used for basic
       DBI self-tests as well as testing the SQL::Statement mock driver.

EXAMPLES

       ??? Synopsis ???

DIAGNOSTICS

       ???

SEE ALSO

        DBI        - Database independent interface for Perl
        DBI::DBD   - Perl DBI Database Driver Writer's Guide
        Test::More - yet another framework for writing test scripts

AUTHOR

       This module is a team-effort. The current team members are

         H.Merijn Brand   (Tux)
         Jens Rehsack     (Sno)
         Peter Rabbitson  (ribasushi)
         Joakim TE<0x00f8>rmoen   (trmjoa)

COPYRIGHT AND LICENSE

       Copyright (C)2013 - The DBI development team

       You may distribute this module under the terms of either the GNU General Public License or  the  Artistic
       License, as specified in the Perl README file.

perl v5.36.0                                       2022-11-19                                     DBI::Test(3pm)