API simulations for development and testing
Hoverfly is a lightweight, open source API simulation tool. Using Hoverfly, you can create realistic simulations of the APIs your application depends on.
- Replace slow, flaky API dependencies with realistic, re-usable simulations
- Simulate network latency, random failures or rate limits to test edge-cases
- Extend and customize with any programming language
- Export, share, edit and import API simulations
- CLI and native language bindings for Java and Python
- REST API
- Lightweight, high-performance, run anywhere
- Apache 2 license
Hoverfly is developed and maintained by SpectoLabs.
Hoverfly Cloud - API simulations as a service. Sign up for the private beta.
Contributions are welcome!
To contribute, please:
- Fork the repository
- Create a feature branch on your fork
- Commit your changes, and create a pull request against Hoverfly's master branch
- In your pull request, include details regarding your change, i.e
- why you made it
- how to test it
- any information about testing you have performed
To read more about forking model, check out this link: forking workflow.
Setup for local development
Install Go. You should follow the download and installation instructions for your OS from official Go website. If you have installed Go before using either
homebrew, you should uninstall those first.
After the installation, find out the
go env, and then setup a source folder there
Clone the hoverfly project into your Go source folder:
cd $GOPATH/src mkdir -p github.com/SpectoLabs/ cd github.com/SpectoLabs/ git clone https://github.com/SpectoLabs/hoverfly.git # or: git clone https://github.com/<your_username>/hoverfly.git
Finally you can run the build
cd hoverfly make build
Notice the binaries are in the
You should be able to execute all unit and functional tests with:
Some middleware tests may fail if you don't have
python setup in your environment. If you are using Mac, you can install them with Homebrew:
brew install ruby brew install python
Apache License version 2.0 See LICENSE for details.
(c) SpectoLabs 2017.