NAME
    Test::DBIx::Class::Stats - test statistics about your DBIx::Class calls

SYNOPSIS
    Run a subtest with a debugging object
    (Test::DBIx::Class::Stats::Profiler) set to capture the number of calls
    that have been made to the database. This may be useful to check your
    assumptions about prefetching, etc.

        use Test::More;
        use Test::DBIx::Class::Stats;

        # if you are using Test::DBIx::Class or similar, we can get the 
        # database handle from the `Schema` method
        use Test::DBIx::Class;

        with_stats 'test 1', sub {
            my $stats = shift;

            my $rs = Schema->resultset('Foo')->search();
            is $stats->call_count, 0, 'No calls on preparing RS';

            my @foo = $rs->all;
            is $stats->call_count, 1, '1 call after preparing RS';
        };

        # alternatively, we can pass it in explicitly:
    
        my $db = Schema
        with_stats 'test 2', $db, sub {
            ...
        };

EXPORTED FUNCTIONS
    "with_stats $name, [$db], $code"
        The Test::DBIx::Class::Stats::Profiler object is created for the
        database and is passed to your code reference as its first and only
        argument.

        If $db is not passed, the caller's "Schema" function will be called.
        This is designed to work with Test::DBIx::Class.

AUTHOR
    osfameron <osfameron@cpan.org> 2014

