Dredd

Language-agnostic HTTP API Testing Tool

README

Dredd — HTTP API Testing Framework

npm version Build Status Build Status Documentation Status Known Vulnerabilities

Dredd - HTTP API Testing Framework

Dredd is a language-agnostic command-line tool for validating

API description document against backend implementation of the API.


- [Documentation][]
- [Changelog][]
- [Contributor's Guidelines][]

Dredd reads your API description and step by step validates whether your API
implementation replies with responses as they are described in the
documentation.

Supported API Description Formats


- [API Blueprint][]
- [OpenAPI 2][] (formerly known as Swagger)
- [OpenAPI 3][] (experimental, contributions welcome!)

Supported Hooks Languages


Dredd supports writing hooks
— a glue code for each test setup and teardown. Following languages are supported:

- Go
- PHP
- Didn't find your favorite language? _Add a new one!_

Supported Systems


- Linux, macOS, Windows, ...
- [Travis CI][], [CircleCI][], [Jenkins][], [AppVeyor][], ...

Installation


  1. ```
  2. $ npm install -g dredd
  3. ```

Quick Start


1.  Create an [API Blueprint][] file called api-description.apib.
    Follow [tutorial at API Blueprint website][api blueprint tutorial]
    or just take one of the [ready-made examples][api blueprint examples].
2.  Run interactive configuration:

  1. ``` sh
  2.     $ dredd init
  3. ```

3.  Run Dredd:

  1. ``` sh
  2.     $ dredd
  3. ```

4.  To see how to use all Dredd's features, browse the
    [full documentation][documentation].

Howtos, Tutorials, Blogposts (3rd party)



[api blueprint]: https://apiblueprint.org/
[api blueprint tutorial]: https://apiblueprint.org/documentation/tutorial.html
[api blueprint examples]: https://github.com/apiaryio/api-blueprint/tree/master/examples
[openapi 2]: https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md
[openapi 3]: https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.0.md
[documentation]: https://dredd.org/en/latest/
[changelog]: https://github.com/apiaryio/dredd/releases
[contributor's guidelines]: https://dredd.org/en/latest/contributing/
[travis ci]: https://travis-ci.org/
[circleci]: https://circleci.com/
[jenkins]: https://jenkins.io/
[appveyor]: https://www.appveyor.com/