Giter Site home page Giter Site logo

tdziurko / pact-jvm Goto Github PK

View Code? Open in Web Editor NEW

This project forked from pact-foundation/pact-jvm

0.0 2.0 0.0 561 KB

JVM version of Pact. Enables consumer driven contract testing, providing a mock service and DSL for the consumer project, and interaction playback and verification for the service provider project.

License: Apache License 2.0

Groovy 5.53% Shell 3.15% Scala 76.56% Java 14.75%

pact-jvm's Introduction

pact-jvm

Build Status

JVM implementation of the consumer driven contract library (pact)[https://github.com/bethesque/pact_specification]

From the Ruby Pact website:

Define a pact between service consumers and providers, enabling "consumer driven contract" testing.

Pact provides an RSpec DSL for service consumers to define the HTTP requests they will make to a service provider and the HTTP responses they expect back. These expectations are used in the consumers specs to provide a mock service provider. The interactions are recorded, and played back in the service provider specs to ensure the service provider actually does provide the response the consumer expects.

This allows testing of both sides of an integration point using fast unit tests.

This gem is inspired by the concept of "Consumer driven contracts". See http://martinfowler.com/articles/consumerDrivenContracts.html for more information.

Contact

##I Use Scala and Specs 2

You want to look at: pact-jvm-consumer-specs2

##I Use Java

You want to look at: pact-jvm-consumer-junit

##I Use some other jvm language or test framework (groovy, clojure etc)

You want to look at: Pact Consumer

##I am writing a provider and want to run pacts

You want to look at: pact sbt plugin

##I want to run pacts but don't want to use sbt

You want to look at: pact-jvm-provider

##I Use Ruby The pact-jvm libraries are pure jvm technologies and do not have any native dependencies.

However if you have a ruby provider, the json produced by this library is compatible with the ruby pact library.

You'll want to look at: pact

##I Use something completely different

There's a limit to how much we can help, however check out pact-jvm-server

##How do I transport my pacts from consumers to providers?

You want to look at: Pact Broker

Which is a project that aims at providing tooling to coordinate pact generation and delivery between projects

##I want to contribute

  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

You can publish pacts locally using:

sbt clean test publishLocal

To publish to a nexus repo, change the url in project/Build.scala then run:

sbt clean test publish

You will need to be added to the nexus project to be able to do this.

pact-jvm's People

Contributors

abubics avatar johnelf avatar kenbot avatar tdziurko avatar thetrav avatar xuefengwu avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.