Pact is a tool to develop Consumer-Driven Contract Tests. You can find a lot of informations on the official docs or the github repository.
This Angular Schematic supports you in setting up pact for your projects and therefore do Consumer-Driven Contract Testing for your application.
This Schematic supports karma
as well as jest
based angular projects.
For now this repository just support the initial setup of a project to perform pact tests. This can be done by adding this library.
ng add ngx-pact
The ng add
command supports a variety of configuration options. You can find a detailed list in the following section.
This will also change the karma.conf.js
, so if you already setup pact for your project just skip this step and add ngx-pact
as dev dependency.
Parameter Name | description | default |
---|---|---|
skipInstall | Do not add pact packages as devDependency in the package.json | false |
project | The name of the project for which you want to add pact | defaultProject |
port | The port of the pact server | 12345 |
dir | The directory of the pact files | ./pact |
log | The directory of the log files | '' |
pactBinaryLocation | When you are behind a cooperate proxy you might want to download the pact binary manually | |
pactDoNotTrack | Pact by default analyze anonymously installations of the pact-node module |
ng generate ngx-pact:service --name test
This will generate an angular service called test, with the normal test.service.spec.ts
, but also a test.service.pact.spec.ts
.
It extends the normal service schematic and adds the following configuration options:
Parameter Name | description | default |
---|---|---|
port | The port of the pact server | 12345 |
consumer | Name of the consumer | projectName |
provider | Name of the provider | some-provider |
For development hints, have a look at DEVELOPMENT.md