All Projects → apiaryio → gavel-spec

apiaryio / gavel-spec

Licence: MIT license
Behavior specification for Gavel, validator of HTTP transactions

Programming Languages

Gherkin
971 projects
javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to gavel-spec

Awesome-Cucumber
A collection of awesome Cucumber and Gherkin-related resources
Stars: ✭ 33 (-68.57%)
Mutual labels:  bdd, gherkin, cucumber
Gunit
GUnit - Google.Test/Google.Mock/Cucumber on steroids
Stars: ✭ 156 (+48.57%)
Mutual labels:  bdd, gherkin, cucumber
Godog
Cucumber for golang
Stars: ✭ 1,287 (+1125.71%)
Mutual labels:  bdd, gherkin, cucumber
Karate
Test Automation Made Simple
Stars: ✭ 5,497 (+5135.24%)
Mutual labels:  bdd, gherkin, cucumber
docs
Cucumber user documentation
Stars: ✭ 110 (+4.76%)
Mutual labels:  bdd, gherkin, cucumber
Behat
BDD in PHP
Stars: ✭ 3,696 (+3420%)
Mutual labels:  bdd, gherkin, cucumber
mocha-cakes-2
A BDD plugin for Mocha testing framework
Stars: ✭ 44 (-58.1%)
Mutual labels:  bdd, gherkin, cucumber
Radish
Behavior Driven Development tooling for Python. The root from red to green.
Stars: ✭ 153 (+45.71%)
Mutual labels:  bdd, gherkin, cucumber
Dredd
Language-agnostic HTTP API Testing Tool
Stars: ✭ 3,770 (+3490.48%)
Mutual labels:  validation, dredd, sjs-team
Nightwatch Cucumber
[DEPRECATED] Cucumber.js plugin for Nightwatch.js.
Stars: ✭ 243 (+131.43%)
Mutual labels:  bdd, gherkin, cucumber
bat
Gherkin based DSL for testing HTTP APIs via Cucumber.JS
Stars: ✭ 30 (-71.43%)
Mutual labels:  bdd, gherkin, cucumber
scenari
Clojure BDD library - Executable Specification with Behavior-Driven Development
Stars: ✭ 57 (-45.71%)
Mutual labels:  bdd, gherkin, cucumber
gherkin
Pure Rust implementation of Gherkin language (`.feature` file) for Cucumber testing framework.
Stars: ✭ 41 (-60.95%)
Mutual labels:  bdd, gherkin, cucumber
cucumber6-ts-starter
Starter project to write and debug cucumber-js features in TypeScript language
Stars: ✭ 62 (-40.95%)
Mutual labels:  bdd, gherkin, cucumber
White Bread
🍞 Story BDD tool for elixir using gherkin
Stars: ✭ 198 (+88.57%)
Mutual labels:  bdd, gherkin, cucumber
cucumber-performance
A performance testing framework for cucumber
Stars: ✭ 28 (-73.33%)
Mutual labels:  bdd, gherkin, cucumber
karate-runner
VSCode Extension for Karate
Stars: ✭ 23 (-78.1%)
Mutual labels:  bdd, gherkin, cucumber
codeceptjs-bdd
Javascript BDD UI Automation Framework. Exclusive LWC Shadow DOM Support. Playwright, Webdriver.io, Appium, Saucelabs.
Stars: ✭ 35 (-66.67%)
Mutual labels:  bdd, cucumber
aloe
Behavior Driven Development using Cucumber for Python
Stars: ✭ 63 (-40%)
Mutual labels:  bdd, gherkin
cucumber-jvm-examples
Cucumber-jvm 5.0.0 examples with Maven
Stars: ✭ 20 (-80.95%)
Mutual labels:  bdd, gherkin

Behavior spec for Gavel, validator of HTTP transactions

Relish docs npm version Greenkeeper badge

Gavel - Validator of HTTP Transactions

What is Gavel?

Gavel detects important differences between actual and expected HTTP transactions (HTTP request and response pairs). Gavel also decides whether the actual HTTP transaction is valid or not.

Implementations

Documentation

About gavel-spec

This repository contains implementation-independent behavior specification of Gavel. It's written in Gherkin, language used by Cucumber. Two main benefits are:

  • Any Gavel implementation can be tested against the specification, which ensures the behavior is uniform.
  • Documentation at Relish is generated from the specification, which ensures it's always up-to-date.

Examples are made in raw HTTP to focus on implementation independence.

Usage

To use the specification in your project and test against it, install it as npm package (or include as a git submodule):

$ npm install gavel-spec
...
$ find ./node_modules/gavel-spec/features/**/*.feature
./node_modules/gavel-spec/features/expectations/body_json_example.feature
./node_modules/gavel-spec/features/expectations/body_text_example.feature
./node_modules/gavel-spec/features/expectations/headers.feature
./node_modules/gavel-spec/features/expectations/status_code.feature
...

It's also possible to get path to the directory with features from JavaScript:

var featuresPath = require('gavel-spec').featuresPath;
console.log(featuresPath);  // prints '/.../node_modules/gavel-spec/features/'

Use Cucumber for testing.

Publishing Documentation

Currently publishing of a new version of the generated documentation is done manually:

  1. Install Relish CLI: gem install relish
  2. Add current version: relish versions:add apiary/gavel:1.1.0 (the 1.1.0 should be the same number which appears on npm as the latest package version)
  3. Publish new version of the documentation: relish push apiary/gavel:1.1.0 path ./features/

Steps 2-3 has been simplified as npm run docs:publish command.

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].