- Home
- BDD Testing Tools
- Mamba
Mamba
What it is
Mamba is a free, MIT-licensed behavior-driven development tool and test runner for Python developers on Linux. It organizes tests as specs using a descriptive DSL with constructs such as description, context, and it, drawing influence from RSpec, Mocha, Jasmine, and Ginkgo. Its manual covers hooks, shared contexts, example groups, filtering, focused examples, and progress, documentation, or custom formatters. Mamba can identify examples exceeding a configurable runtime threshold, with a documented default of 0.75 seconds. Coverage mode can generate a .coverage file for an HTML report. Installation is documented through pip or pipenv, and the getting-started guide lists Python 2.7 or higher. Mamba does not provide assertions, allowing libraries such as expects, Hamcrest, should_dsl, sure, or plain Python assertions. It also leaves test-double selection open, mentioning Doublex and Mockito.
For and against
For
- Descriptive DSL for behavior-driven specs
- Supports hooks and shared contexts
- Provides filtering and focused examples
- Offers progress, documentation, and custom formatters
- MIT-licensed and free
Against
- Linux platform only
- Requires Python 2.7 or higher
- Provides no built-in assertion mechanism
- Does not prescribe a test-double library
The verdict
Mamba provides a configurable local test runner for Python behavior-driven development. Its open choices for assertions and test doubles give developers flexibility, while requiring them to select those supporting tools.
Who it suits
Mamba suits Python developers on Linux who prefer behavior-driven specs and want to choose their own assertion and test-double libraries. It is also useful for projects needing filtering, formatters, runtime warnings, or coverage output.
Plans and prices
Mamba
MIT-licensed software · installable as a Python package
Read 4 Oct 2026 · github.com
On the record
- Assertions
- Mamba does not include an assertion mechanism and says it should work with any assertion library, including expects, Hamcrest, should_dsl, sure, or plain Python assertions.mamba-bdd.readthedocs.io · read 4 Oct 2026
- Coverage
- Mamba can be run with coverage enabled and generate a .coverage file for an HTML report.mamba-bdd.readthedocs.io · read 4 Oct 2026
- Filtering
- The official manual lists filtering and focused examples as features.mamba-bdd.readthedocs.io · read 4 Oct 2026
- Formatters
- The manual documents progress, documentation, and custom formatters.mamba-bdd.readthedocs.io · read 4 Oct 2026
- Hooks and contexts
- The official manual lists hooks, shared contexts, and example groups among its features.mamba-bdd.readthedocs.io · read 4 Oct 2026
- Influences
- Its documentation says Mamba is heavily influenced by RSpec, Mocha, Jasmine, and Ginkgo.mamba-bdd.readthedocs.io · read 4 Oct 2026
- Installation
- The maker documents installation through pipenv or pip as a Python package.mamba-bdd.readthedocs.io · read 4 Oct 2026
- License
- The repository includes the MIT license, which permits use, copying, modification, distribution, sublicensing, and sale subject to its conditions.github.com · read 4 Oct 2026
- Purpose
- Mamba is a behavior-driven development tool and test runner for Python developers.mamba-bdd.readthedocs.io · read 4 Oct 2026
- Python requirement
- The getting-started guide lists Python 2.7 or higher as a prerequisite.mamba-bdd.readthedocs.io · read 4 Oct 2026
- Slow examples
- Mamba highlights examples that exceed a configurable time threshold, with a documented default of 0.75 seconds.mamba-bdd.readthedocs.io · read 4 Oct 2026
- Support and contributions
- The maker invites contributions through repository forks and pull requests.nestorsalceda.com · read 4 Oct 2026
- Test doubles
- The documentation says Mamba does not prescribe a test-double library and mentions Doublex and Mockito as examples.mamba-bdd.readthedocs.io · read 4 Oct 2026
- Test structure
- Specs use a descriptive DSL with constructs such as description, context, and it.github.com · read 4 Oct 2026