This package has been deprecated

Author message:

karma-pact has been deprecated in favor of @pact-foundation/karma-pact. Please update your package.json.

karma-pact

0.0.7 • Public • Published

Karma Pact

Build Status

Implementation of a Karma Plugin to launch a Pact Mock Server before executing your Pact tests on the browser.

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.

Installation

First install the package from NPM:

npm install --save-dev karma-pact

Then, on your Karma Configuration file, add the below:

module.exports = function (config) {
  config.set({
    // in here we are simply telling to use Jasmine with Pact
    frameworks: ['jasmine', 'pact'],
    // the Pact opts will go here
    pact: {}
  })

The pact configuration in the file is as follows (same present at pact-node):

{
  port: <Number>,     // Port number that the server runs on, defaults to 1234
  host: <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 none
  ssl: <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 none
  spec: <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 none
  provider: <String>  // The name of the provider to be written to the pact contracts, defaults to none
}

Examples

Check the karma folder under Pact JS for examples with Mocha and Jasmine.

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request

If you would like to implement Pact in another language, please check out the Pact specification and have a chat to one of us on the pact-dev Google group.

The vision is to have a compatible Pact implementation in all the commonly used languages, your help would be greatly appreciated!

Contact

Package Sidebar

Install

npm i karma-pact

Weekly Downloads

2

Version

0.0.7

License

MIT

Last publish

Collaborators

  • mboudreau
  • mfellows
  • tarcio