[TIP] ANN: pytest-couchdbkit 0.5.1

Ronny Pfannschmidt Ronny.Pfannschmidt at gmx.de
Tue Apr 17 11:12:20 PDT 2012


i am sorry to have to release pytest-couchdbkit 0.5.1 so early

i noticed that 0.4 broke normal testing way too late,
which is fixed now

0.5.1 was necessary due to noticing a typo in MANIFEST.in right after 
the 0.5 release which silently dropped the tests from the release

as a little gem i added support for pytest-xdist
to pytest-couchdbkit, so happy parallel testing.

-- Ronny


pytest-couchdbkit is a simple pytest extension that manages test databases
for your couchdbkit using apps.

In order to use it, you only need to set the ini option
`couchdbkit_suffix` to something fitting your app.
Additionally you may use `couchdbkit_backend` to select
the gevent/eventlet backends.

To setup couchapps before running the tests,
there is the `pytest_couchdbkit_push_app(server, dbname)` hook

It can be used to create a pristine database,
which is replicated into each test database.

The provided funcarg `couchdb` will be a freshly flushed database
named `pytest_` + couchdbkit_suffix,

additionally, after each test item,
the database will be dumped to tmpdir.join(couchdb.dump)

which is a simple file having entries in the format::

     number(\d+) + "\r\n" + number bytes + "\r\n"

entries are:

* the db info
* documents
* raw attachment data following the document

Attachments are ordered by name,
so they can be reassigned to their metadata on loading.

The dump format is meant to be human-readable.


* fs fixtures (like couchapp)
* code fixtures
* dump fixtures
* comaring a db to sets of defined fixtures


from 0.5 to 0.5.1

- fix MANIFEST.in

from 0.4 to 0.5

- fix breaking testruns that dont actually use it
- add a lot of tests i should have done before 0.4
- add support for pytest-xdist,
   if a slave is detected, push_app wont be called,
   and dbname gets the gw id appended

from 0.3 to 0.4

- add pytest_couchdbkit_push_app hook

More information about the testing-in-python mailing list