All Projects → bbyars → Mountebank

bbyars / Mountebank

Licence: mit
Over the wire test doubles

Programming Languages

javascript
184084 projects - #8 most used programming language
EJS
674 projects

Projects that are alternatives of or similar to Mountebank

bokor
Bokor is a simple, Record and Playback Mock Server written in Node.js, utilized for Service Virtualization.
Stars: ✭ 24 (-98.57%)
Mutual labels:  test-automation, mocking, service-virtualization
Hoverfly
Lightweight service virtualization/API simulation tool for developers and testers
Stars: ✭ 1,814 (+8.1%)
Mutual labels:  mocking, stubbing, service-virtualization
Qt4a
QTA driver for Android app
Stars: ✭ 297 (-82.3%)
Mutual labels:  test-automation, test-framework
Tlsfuzzer
SSL and TLS protocol test suite and fuzzer
Stars: ✭ 335 (-80.04%)
Mutual labels:  test-automation, test-framework
Narwhal
A progressive test framework for C.
Stars: ✭ 110 (-93.44%)
Mutual labels:  mocking, test-framework
servirtium-java
Service Virtualized HTTP - to help service test automation stay fast and consistent
Stars: ✭ 16 (-99.05%)
Mutual labels:  test-automation, service-virtualization
tropic
🍍 Test Runner Library
Stars: ✭ 29 (-98.27%)
Mutual labels:  test-automation, test-framework
Qtaf
QTA test framework
Stars: ✭ 370 (-77.95%)
Mutual labels:  test-automation, test-framework
MAQS
Magenic's automation quick start
Stars: ✭ 46 (-97.26%)
Mutual labels:  test-automation, test-framework
Ohhttpstubs
Stub your network requests easily! Test your apps with fake network data and custom response time, response code and headers!
Stars: ✭ 4,831 (+187.9%)
Mutual labels:  mocking, stubbing
Airtest
UI Automation Framework for Games and Apps
Stars: ✭ 5,733 (+241.66%)
Mutual labels:  test-automation, test-framework
Qtools
QTools collection of open source tools for embedded systems development on Windows, Linux and MacOS
Stars: ✭ 64 (-96.19%)
Mutual labels:  test-automation, test-framework
playwright-fluent
Fluent API around playwright
Stars: ✭ 71 (-95.77%)
Mutual labels:  test-automation, test-framework
page-content-tester
Paco is a Java based framework for non-blocking and highly parallelized Dom testing.
Stars: ✭ 13 (-99.23%)
Mutual labels:  test-automation, test-framework
Hippolyte
HTTP Stubbing in Swift
Stars: ✭ 109 (-93.5%)
Mutual labels:  mocking, stubbing
mountebank-api-php
Working with mountebank api it's easy!
Stars: ✭ 17 (-98.99%)
Mutual labels:  mocking, mountebank
Atata
C#/.NET test automation framework for web
Stars: ✭ 362 (-78.43%)
Mutual labels:  test-automation, test-framework
Testcafe
A Node.js tool to automate end-to-end web testing.
Stars: ✭ 9,176 (+446.84%)
Mutual labels:  test-automation, test-framework
IO-TESTER
A functional test framework
Stars: ✭ 32 (-98.09%)
Mutual labels:  test-automation, test-framework
Wasmite
Now WebAssembly has proper testing, unit-testing and debugging 🤗
Stars: ✭ 20 (-98.81%)
Mutual labels:  test-automation, test-framework

Welcome, friend

mountebank is the only open source service virtualization tool that competes with the commercial offerings in terms of protocol diversity, capability, and performance. Here's what Capital One wrote about their mobile cloud migration (emphasis theirs):

In fact, halfway through we discovered our corporate mocking software couldn’t handle the sheer amount of performance testing we were running as part of this effort (we completely crushed some pretty industrial enterprise software in the process). As a result, we made the call to move the entire program over to a Mountebank OSS-based solution with a custom provision to give us the ability to expand/shrink our mocking needs on demand.

At the moment, the following protocols are implemented, either directly in the tool or as a community extension:

  • http
  • https
  • tcp (text and binary)
  • smtp
  • ldap
  • grpc
  • websockets
  • graphql

mountebank supports mock verification, stubbing with advanced predicates, JavaScript injection, and record-playback through proxying.

how it works

See getting started guide for more information.

Install and Run

Install:

npm install -g mountebank

Run:

mb

There are a number of command line options if you need to customize mountebank.

All pre-release versions of mountebank are available with the beta npm tag. No beta version is published unless it has passed all tests.

Learn More

After installing and running, view the docs in your browser at http://localhost:2525, or visit the public site.

You can always learn more and support mountebank development by buying the book:

Testing Microservices with Mountebank

Roadmap and Support

mountebank is used by a large number of companies and I think it's important to convey my best guess as to what the feature roadmap is. I've adopted GitHub tools to manage the roadmap. Specifically, the Roadmap project page shows the features by release. I generally re-prioritize and update the ETAs each release.

Visit the Google group for any support questions. Don't be shy!

mountebank is provided free of charge and maintained in my free time. As such, I'm unable to make any kind of guarantees around either support turn-around time or release dates.

Building

There are two packages: mountebank itself, and a test package called mbTest (which houses all out-of-process tests against mountebank). First ensure all dependencies are installed for both packages:

npm install

Then, run all tests:

npm test

Several other test configurations exist. You can see the CI pipeline in .circleci/config.yml.

There are some tests that require network access. A few of these tests verify the correct behavior under DNS failures. If your ISP is kind enough to hijack the NXDOMAIN DNS response in an attempt to allow you to conveniently peruse their advertising page, those tests will fail. I suggest that, under such circumstances, you talk to your ISP and let them know that their policies are causing mountebank tests to fail. You can also set the environment variable MB_AIRPLANE=true, which will avoid tests requiring your DNS resolver.

Support

I make a good faith effort to monitor conversations in the mountebank Google group. Given that mountebank is a free tool freely maintained in my (increasingly limited) free time, I make no promises about response time (or responses at all).

Contributing

Contributions are welcome! Some tips for contributing are in the CONTRIBUTING.md.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].