apitance
Elegant, versatile and expressive behavior-driven acceptance tests for HTTP APIs based on Gherkin language and built-on-top of Cucumber
Still work in progress
Features
- Generic and reusable steps with expressiveness and multiple alias
- Full HTTP protocol features support, including authentication, headers, cookies
- High number of assert/expectation expressions for responses validation
- Request/responses caching, reuse and chaining
- Validate body responses against JSON schema
- API discovering based on RAML
- Support all the Cucumber.js features, such as hooks, configuration, stages...
- Built-in support for templating and variables such as environment variables
- Extended syntax with conditionals, control flow and more...
- Send body payload data from external files or remote servers
- Extending support. You can create or overwrite custom steps
Installation
Apitance requires you have installed node.js or io.js
[sudo] npm install -g apitance
Or install it as standalone self-contained package:
sudo curl -s -L https://raw.github.com/h2non/apitance/master/bin/install | bash
Usage
$ apitance -r features/user.feature
Command-line interface
Getting help
$ apitance --help
$ apitance -r path/to/steps path/to/feature
Contributing
Wanna help?
apitance
is completely written in JavaScript Harmony (ECMAScript 6)
You must add new test cases for any new feature or refactor you do,
always following the same design/code patterns that already exist
Development
Only node.js is required for development
Clone/fork this repository
$ git clone https://github.com/h2non/apitance.git && cd apitance
Install dependencies
$ npm install
Compile code
$ make compile
Run tests
$ make test
License
MIT © Tomas Aparicio