pact-js-provider
v1.1.5
Published
A JS implementation of Provider Pact
Downloads
4
Readme
Node Provider for Pact
Matches pact for Providers. See Pacts for more information on Pact.
Setup
Requirements
- You will need Ruby 2+. You can install this via ruby-install, rvm or chruby.
- bundler
- node (tested on version 4.2.1)
- npm
Install bundler with:
gem install bundler
bundle --version
Should print something like:
Bundler version 1.11.2
Any project using Pact will then on preinstall run 'bundle install' to install the ruby dependencies.
Using pact-js-provider
See test repo
provider_states_for('Animal Service', 'Zoo App', './pacts/zoo_app-animal_service.json', 'http://localhost:5000', (done) => {
providerState('there is an alligator named Mary', (done) => {
setUp( (done) => {
switchMary(true, done)
})
it( () => {})
tearDown( (done) => {
done()
})
})
)}
Pact-js-provider uses mocha under the hood. As a result currently to run the test you need an it method. The provider_states_for method needs the following parameters:
- provider name
- consumer name
- pact file
- base url
The providerState requires the name of the providerState to be tested. Currently this will just output the content from the ruby implementation. There is no error code returned on failure.
Links
Pacts - ruby reference implementation
[Pacts js consumer] (https://github.com/DiUS/pact-consumer-js-dsl)
Simplifying microservices testing with pacts - Ron Holshausen (one of the original pact authors)
Integrated tests are a scam - J.B. Rainsberger
Consumer Driven Contracts - Ian Robinson
Integration Contract Tests - Martin Fowler
Roadmap
See ROADMAP.md.
Contributing
See CONTRIBUTING.md.