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
- REST API
- Lightweight, high-performance, run anywhere
- Apache 2 license
Hoverfly is developed and maintained by SpectoLabs.
Quickstart
Hoverfly Cloud
Hoverfly Cloud - API simulations as a service. Sign up here.
Contributing
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
Build
-
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
apt-get
orhomebrew
, you should uninstall those first. -
After the installation, find out the
GOPATH
usinggo env
, and then setup a source folder theremkdir $GOPATH/src
-
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 target
directory.
Test
You should be able to execute all unit and functional tests with:
make test
Some middleware tests may fail if you don't have ruby
and python
setup in your environment. If you are using Mac, you can install them with Homebrew:
brew install ruby
brew install python
License
Apache License version 2.0 See LICENSE for details.
(c) SpectoLabs 2017.