Skip to content

eduardopc/contract-testing-pactjs

Repository files navigation

Contract Testing using PactJs

Pré-Requisitos:

  • Necessário ter instalado e configurado o Node e o NPM
  • Renomear o arquivo .env.example para .env
  • Opcional: Ter o docker rodando localmente

1. Primeiros passos: Baixar todas as dependências

npm i

2. Renomear o arquivo .env.example

mv .env.example .env

3. Para gerar um pacto, executar o script:

npm run test:consumer

4. O arquivo gerado pode ser enviado para o Pact Broker de duas formas:

Para executar em ambas plataformas se faz necessário definir alguns valores dentro do arquivo .env

Para a alternativa via Docker definir o valor da variável:

PACT_LOCAL_BROKER=

E pra enviar o Pact File, rodar o seguinte comando:

npm run publish:broker

Ja para a segunda opção, é necessário definir a url/token do Pactflow:

PACTFLOW_URI=

PACTFLOW_TOKEN=

E pra enviar o Pact File, rodar o seguinte comando:

npm run publish:pactflow

5. Para verificar o pacto, é necessário rodar dois scripts:

  • O primeiro script a ser executado irá criar um servidor mock que servirá de exemplo na validação do pacto:

npm run up:mock-service

  • O segundo script deverá ser executado dependendo de onde o pacto foi gerado. Caso tenha sido criado no Docker, rodar o comando:

npm run test:provider-broker

  • Caso tenha sido enviado para o PactFlow, rodar o comando:

npm run test:provider-pactflow

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published