The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Test::Mock::Redis - use in place of Redis for unit testing

VERSION

Version 0.11

SYNOPSIS

Test::Mock::Redis can be used in place of Redis for running tests without needing a running redis instance.

    use Test::Mock::Redis;

    my $redis = Test::Mock::Redis->new(server => 'whatever');

    $redis->set($key, 'some value');

    $redis->get($key);

    ...

This module is designed to function as a drop in replacement for Redis.pm for testing purposes.

See perldoc Redis and the redis documentation at http://redis.io

PERSISTENCE

The "connection" to the mocked server (and its stored data) will persist beyond the object instance, just like a real Redis server. This means that you do not need to save the instance to this object in order to preserve your data; simply call new with the same server parameter and the same instance will be returned, with all data preserved.

SUBROUTINES/METHODS

new

    Create a new Test::Mock::Redis object. 

    It can be used in place of a Redis object for unit testing.

    It accepts the "server" argument, just like Redis.pm's new.

TODO

Lots!

Not all Redis functionality is implemented. The test files that output "TODO" are still to be done.

The top of all test files [except 01-basic.t] has the list of commands tested or to-be tested in the file.

Those marked with an "x" are pretty well-tested. Those marked with an "o" need help. Those that are unmarked have no tests, or are un-implemented. For example:

x AUTH <--- has some tests

o KEYS <--- only partially tested and/or implemented

    ZINTERSTORE   <--- not tested (or maybe not implemented)

Beyond that, it would be neat to add methods to inspect how often keys were accessed and get other information that allows the module user to confirm that their code interacted with redis (or Test::Mock::Redis) as they expected.

AUTHOR

Jeff Lavallee, <jeff at zeroclue.com>

SEE ALSO

The real Redis.pm client whose interface this module mimics: http://search.cpan.org/dist/Redis

BUGS

Please report any bugs or feature requests to bug-mock-redis at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Test-Mock-Redis. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

SUPPORT

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

    perldoc Test::Mock::Redis

You can also look for information at:

ACKNOWLEDGEMENTS

Salvatore Sanfilippo for redis, of course!

Dobrica Pavlinusic & Pedro Melo for Redis.pm

The following people have contributed to Test::Mock::Redis:

  • Karen Etheridge

LICENSE AND COPYRIGHT

Copyright 2011, 2012, 2013 Jeff Lavallee.

This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.

See http://dev.perl.org/licenses/ for more information.