Skip to main content
#mamba: the definitive testing tool for Python

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

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

##Installation

To install mamba, just:

``` sh
pip install mamba
```

##Overview

```python
# Importing mamba is not needed!
# import mamba

with description('mamba'):
with it('is tested with mamba itself'):
pass

with it('supports python 3'):
pass

with

with context('when listing features'):
with it('supports example groups'):
pass

with context('hooks'):
with before.all:
print 'This code will be run once, before all examples'

with before.each:
print 'This code will be run before each example'

with after.each:
print 'This code will be run after each example'

with after.all:
print 'This code will be run once, after all examples'

with context('pending tests'):
with _context('when running pending contexts (marked with a underscore)'):
with it('will not run any spec under a pending context'):
pass

with _it('will not run pending specs (marked with underscore)'):
pass

with it('highlights slow tests'):
sleep(10)

with context(ASampleClass):
with it('has an instance in subject property'):
expect(self.subject).to.be.a(ASampleClass)

with context('when writing assertions'):
with it('can be used with plain assertions'):
assert True

with it('can be used with hamcrest style assertions'):
assert_that(True, is_(True))

with it('can be used with should_dsl style assertions'):
True |should| be(True)

with it('can be used with sure style assertions'):
True.should.be.true

expect(True).to.be.true

with it('is assertion framework agnostic'):
pass

with context('when using tests doubles'):
with it('can be used with mockito'):
stub = mock()
when(stub).is_usable_with_mockito().thenReturn(True)

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

with it('can be used 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())

with it('can be used with mock'):
is_usable_with_mock = Mock(return_value=True)

assert mock()

with it('is test doubles framework agnostic'):
pass

```


##Contribute

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

Metadata

Release files for mamba 0.8.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mamba 0.8.2
File Size Uploaded
mamba-0.8.2.tar.gz 13.4 kB Details

Release files / mamba-0.8.2.tar.gz

Download URL mamba-0.8.2.tar.gz
Size 13.4 kB
Tags Source
SHA-256 checksum
How to use checksums
4ece61321a90b904e8f2859f4966d3fd61b4161137e73d4a3f8015b6f1d944fd
BLAKE2b-256 checksum
How to use checksums
24a23b8d2e0511d68f2547a623ac868e2ed909426173c355e3ec75bf90ea253a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

0.11.3

1 release file

0.11.2

1 release file

0.11.1

1 release file

0.11.0

1 release file

0.10

1 release file

0.9.3

1 release file

0.9.2

1 release file

0.9.1

1 release file

0.8.6

1 release file

0.8.5

1 release file

0.8.4

1 release file

0.8.3

1 release file

This release

0.8.2 This release

1 release file

0.8.1

1 release file

0.8

1 release file

0.6

1 release file

0.5

1 release file

0.4

1 release file

0.3

1 release file

0.2

1 release file

0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page