Skip to main content

The definitive testing tool for Python. Born under the banner of Behaviour Driven Development.

Project description

#mamba: the definitive testing tool for Python

[![Build Status](https://travis-ci.org/nestorsalceda/mamba.png)](https://travis-ci.org/nestorsalceda/mamba)

mamba is the definitive BDD testing framework for Python. Born under the banner of Behaviour Driven Development.

##Overview

```python

from mamba import describe, context, before, after, skip

with describe('mamba'):
def it_should_be_tested_with_mamba_itself():
pass

with context('when listing features'):
def it_supports_example_groups():
pass

with context('hooks'):
@before.all
def run_once_before_specs():
pass

@before.each
def run_before_every_spec():
pass

@after.each
def run_after_every_spec():
pass

@after.all
def run_after_all_specs():
pass

with context('skip tests'):
with skip(context('#skipped contexts')):
def it_should_not_run_specs_under_a_skipped_context():
pass

@skip
def it_should_not_run_a_spec_marked_with_skip_decorator():
pass

with context('when writing assertions'):
def it_should_be_usable_with_plain_assertions():
assert True

def it_should_be_usable_with_hamcrest_style_assertions():
assert_that(True, is_(True))

def it_should_be_usable_with_should_dsl_style_assertions():
True |should| be(True)

def it_should_be_usable_with_sure_style_assertions():
True.should.be.true

expect(True).to.be.true

def it_should_be_assertion_framework_agnostic():
pass

with context('when using tests doubles'):
def it_should_be_usable_with_mockito():
stub = mock()
when(stub).is_usable_with_mockito().thenReturn(True)

expect(stub.is_usable_with_mockito()).to.be.true

def it_should_be_usable_with_doublex():
with Spy() as sender:
sender.is_usable_with_doublex().returns(True)

assert_that(sender.is_usable_with_doublex(), is_(True))
assert_that(sender.is_usable_with_doublex, called())

def it_should_be_usable_with_mock():
is_usable_with_mock = Mock(return_value=True)

assert mock()

def it_should_be_test_doubles_framework_agnostic():
pass
```


##Contribute

If you'd like to contribute, fork [repository](http://github.com/nestorsalceda/mamba), and send a pull request.

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-0.2.tar.gz (4.9 kB view details)

Uploaded Source

File details

Details for the file mamba-0.2.tar.gz.

File metadata

  • Download URL: mamba-0.2.tar.gz
  • Upload date:
  • Size: 4.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for mamba-0.2.tar.gz
Algorithm Hash digest
SHA256 ee4b05d735bb9f1dcb8f33ea451e579b55b27a1190712203268876a6601213c6
MD5 f9ebe826075b97c7f45fa182414045f6
BLAKE2b-256 c3ad517130b62a3ad72e6ef82af215e42a33737420a17e9fff0ffbdb16c6af4c

See more details on using hashes here.

Supported by

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