Skip to main content

Databases fixtures plugin for py.test.

Project description


Tests for pytest-dbfixtures Latest PyPI version Number of PyPI downloads


py.test clean fixtures for: postgresql, mysql, redis, mongo, elasticsearch and rabbitmq.

Starts specific database deamon and cleanup all data produced during tests.


$ pip install --upgrade pytest-dbfixtures

How to use

Please see documentation



  • replaced MySQLdb with it’s fork mysqlclient - compatibility with python3
  • renamed mysqldb fixture to mysql to keep it consistent with other client fixtures.
  • replaced pika with python 3 compatible rabbitpy
  • removed deprecated mysqldb_session/mysql_session
  • bugfix of rabbitmq fixture: cast rabbitmq queues and exchanges to str due to pamq having problems
  • internal changes: removed GentleKillingExecutor as mirakuru already implements same functionality


  • syntax fixes for python 3
  • moved postgresql starting code into it’s own executor
  • xdist distributed hosts testing bugfix (but xdist parallelization on one host won’t work)


  • make rabbitmq logs persistent


  • update mirakuru to min 0.2
  • os.killpg to terminate process
  • add tests coverage on coveralls


  • remove creating old RABBITMQ env variables


  • remove elasticsearch home folder at process teardown
  • set elasticsearch to memory by default
  • localized elasticsearch instance by default
  • replaced summon_process with mirakuru


  • RabbitMQ process fixture is session scoped
  • rabbitmq fixture factory accepts custom teardown


  • StopRunningExecutor to simply return if process had been already killed.


  • MongoDB fixtures can be now initialized by factories


  • Bugfix: params in redis fixture


  • Add params to mysql fixture


  • Client fixtures now check if process (process fixture) is running before every test and starts process if it was terminated after previous test.


  • Bugfix: Now we don’t overwrite postgresql config in postgres_proc


  • Bugfix of rabbitmq_proc fixture - now it works with scope=function


  • Overrides SimpleExecutor’s behavior with a try of more gentle terminating subprocess before killing it.
  • Deprecate scope for mysqldb fixture and change it to function by default.
  • RabbitMQ factories support (multiple rabbit fixtures).


  • Postgresql multiple versions proper support
  • Default timeouts and waits for process executors


  • introduced Elasticsearch fixture


  • mysql fixture now uses factories


  • postgresql fixtures and fixture factories
  • small code quality improvements
  • pylama code check


  • splits rabbitmq fixture into process/client fixtures

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for pytest-dbfixtures, version 0.6.0
Filename, size File type Python version Upload date Hashes
Filename, size pytest_dbfixtures-0.6.0-py3-none-any.whl (29.4 kB) File type Wheel Python version 3.3 Upload date Hashes View
Filename, size pytest_dbfixtures-0.6.0-py2-none-any.whl (29.4 kB) File type Wheel Python version 2.7 Upload date Hashes View
Filename, size pytest-dbfixtures-0.6.0.tar.gz (14.8 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page