Skip to main content

A Django test runner for mamba (the definitive test runner for Python).

Project description

mamba-django

PyPI pyversions

A Django test runner for mamba.

How to use

Go to your Django test settings and add this line.

TEST_RUNNER = 'myapp.mamba_runner.MambaRunner'

How to execute

./manage.py test --settings=project.settings.test --keepdb

You can pass all the mamba options to the Django test command.

For example:

./manage.py test --settings=project.settings.test --keepdb -f documentation -s 1

How to execute mamba tests with Django database transactions

from expects import (
    equal,
    expect
)

from myapp.mamba_runner import (
    start_django_transactions,
    rollback_django_transactions
)

from myapp.models import Animal


with description("Mamba with Django") as self:

    with before.each:
        self.transactions = start_django_transactions()

    with context("Running atomic tests"):

        with it("creates an animal"):
            Animal.objects.create(name="lion", sound="roar")
            expect(Animal.objects.all().count()).to(equal(1))

        with it("creates another animal"):
            Animal.objects.create(name="lion", sound="roar")
            expect(Animal.objects.all().count()).to(equal(1))

    with after.each:
        rollback_django_transactions(self.transactions)

How to load Django fixtures

You can use the method load_fixtures to load Django fixtures.

from expects import (
    equal,
    expect
)

from myapp.mamba_runner import (
    load_fixtures,
    start_django_transactions,
    rollback_django_transactions
)

from django.contrib.auth.models import Group


with description("Mamba with Django") as self:

    with before.each:
        self.transactions = start_django_transactions()
        load_fixtures(['group.json'])

    with context("Fixtures"):

        with it("can retrieve loaded fixtures"):
            expect(Group.objects.all().count()).to(equal(1))

    with after.each:
        rollback_django_transactions(self.transactions)

Project details


Download files

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

Source Distribution

mamba-django-0.4.0.tar.gz (3.5 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page