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-pactThe 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 testThis 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