From the Pact website:
The Pact family of frameworks provide support for Consumer Driven Contracts testing.
A Contract is a collection of agreements between a client (Consumer) and an API (Provider) that describes the interactions that can take place between them.
Consumer Driven Contracts is a pattern that drives the development of the Provider from its Consumers point of view.
Pact is a testing tool that guarantees those Contracts are satisfied.
Read Getting started with Pact for more information on how to get going.
First install the package from NPM:
npm install --save-dev karma-pact
Then, on your Karma Configuration file, add the below:
pact configuration in the file is as follows (same present at pact-node):
port: <Number> // Port number that the server runs on, defaults to 1234host: <String> // Host on which to bind the server on, defaults to 'localhost'log: <String> // File to log output on relative to current working directory, defaults to nonessl: <Boolean> // Create a self-signed SSL cert to run the server over HTTPS , defaults to 'false'cors: <Boolean> // Allow CORS OPTION requests to be accepted, defaults to 'false'dir: <String> // Directory to write the pact contracts relative to the current working directory, defaults to nonespec: <Number> // The pact specification version to use when writing pact contracts, defaults to '1'consumer: <String> // The name of the consumer to be written to the pact contracts, defaults to noneprovider: <String> // The name of the provider to be written to the pact contracts, defaults to none
karma folder under Pact JS for examples with Mocha and Jasmine.
- Fork it
- Create your feature branch (
git checkout -b my-new-feature)
- Commit your changes (
git commit -am 'Add some feature')
- Push to the branch (
git push origin my-new-feature)
- Create new Pull Request
The vision is to have a compatible
Pact implementation in all the commonly used languages, your help would be greatly appreciated!
- Twitter: @pact_up
- Google users group: https://groups.google.com/forum/#!forum/pact-support