Creates an empty SVN repository for testing that cleans up after itself on teardown.
Install using your favourite package installer:
pip install pytest-svn
# or
easy_install pytest-svn
Enable the fixture explicitly in your tests or conftest.py (not required when using setuptools entry points):
pytest_plugins = ['pytest_svn']
Here's a noddy test case that shows it working:
def test_svn_repo(svn_repo):
# The fixture derives from `workspace` in `pytest-shutil`, so they contain
# a handle to the path.py path object (see https://pathpy.readthedocs.io/)
path = svn_repo.workspace
file = path / 'hello.txt'
file.write_text('hello world!')
# We can also run things relative to the repo
svn_repo.run('svn add hello.txt')
# The fixture has a URI property you can use in downstream systems
assert svn_repo.uri.startswith('file://')