svnmock

svnmock is a Python library designed to ease the pain of testing applications that use Subversion's Python bindings.

Rather than having your test suite create, populate and destroy actual repositories, svnmock allows you to simulate interaction with a real repository programmatically. In place of messy, complicated invocations of Subversion's command-line tools, you just tell svnmock what API functions you expect to be called, with what arguments and in what order. If your application deviates from this, svnmock will raise an exception, helping you pinpoint the exact location where your code might be going awry.

svnmock provides emulation support for the entire Python-language API, allowing you to test applications using even the most remote corners of Subversion's bindings. In addition to normal workflow, svnmock provides facilities for simulating conditions -- such as certain error conditions -- that would otherwise be difficult or impossible to test against.

In addition, svnmock offers a tool to merely observe which API functions are called, rather than make assertions about them.

svnmock is compatible with all Subversion releases, including 1.3.0.

Interested? Grab the latest version, take the 10-minute tutorial and get to testing!

News

29 Apr 2006

svnmock 0.3 has been backported to work with Python 2.2 and 2.3. Eggs and tarballs are available from the downloads page and PyPI.

12 Feb 2006

Coming soon to a store near you: svnmock 0.3! This release sees the addition of add_command, add_error, add_sequence and add_any_order functions to svnmock.mock. No longer do you have to create your own initial MockSession object; the module creates one for you, which you can manipulate via the module-member convenience functions.

30 Jan 2006

svnmock 0.2 has been released! New in this version is the addition of tracing support to svnmock.

26 Jan 2006

svnmock 0.1 has been released! This is the package's initial public release.

svnmock