While mountebank speaks REST, he truly loves your native language and has no desire to make you learn another language. If you have a native library you'd like others to be able to use, please send mountebank a note on the support page or through a pull request to this page and he will add it to the list below.
Some of these are still in their early stages. Feel free to help the authors out ;>
- Ruby: mountebank-gem (Michael Cheng)
- Python: mountebank-python (Alex Holyoke)
- Python: py-mountebank (Kevin Qiu)
- Python mountepy (Michał Bultrowicz)
- Java: javabank (James Thomas)
- C#: MbDotNet (Matthew Herman)
- Clojure: Charlatan (Matthew Daley)
- PHP: mountebank-php (Abraham Vallez)
- PHP: Juggler (Andrejs Mironovs)
- Go: GoBank (Erkan)
- TypeScript: node-mountebank (Ron van der Wijngaard)
- Perl: Test::Mountebank (Dagfinn Reiersøl)
- Delphi: mountebank-delphi (Jamie Geddes)
Orchestrators and extensions
The following are higher level tools that augment mountebank with additional functionality.
- TestDoubles by CA Technologies extends mountebank by adding cluster support, named REST APIs, persisted request/response pairs, enhanced command line interface (CLI), with packaging mechanisms including Node.js, Docker, Vagrant, PM2 etc.
mb is another process to manage during your build, having a plugin for your build tool is handy.
If you have a plugin, please add it to this page or let me know about it.
Build Plugin Implementation Notes
As of v1.4.3,
mb writes the pidfile (mb.pid by default, although it can be overridden on the
command line) only after it has fully initialized, including binding to the socket and initializing any
imposters passed in a config file. You can use this fact to wait for the pidfile creation before returning
from a build task to guarantee initialization before the next task runs.
Also note that the command to actually run mountebank can vary depending on both the platform and the installation package. To support all options, you will need to dynamically determine the executable command to run.
See the grunt-mountebank code that mountebank uses for its build for an example.