SlideShare uma empresa Scribd logo
1 de 25
Baixar para ler offline
Teste de Contrato:
porquê e como?
Paula Santana
● 2008 Tec / 2014 Dev
● Litoral + SP = Vida de fretado
● Arquiteta de Soluções
● Desenvolvedora Backend
● Entusiasta em Agile
● Caiçara Ágil, Baixada Nerd
e Devs JavaGirl
Agenda
1. O que é um contrato
2. Problemas no dia-a-dia
3. Experiência
4. Tipos
5. Ferramentas
6. Conclusão
“Pacto entre duas ou mais
pessoas, que se obrigam a cumprir o que
foi entre elas combinado sob determinadas
condições.”
Afinal, o que é um contrato?
Consumer Provider
Dados de uma requisição:
● Método
● URI
● Headers
● Query Parameters
● Body
Dados de uma resposta:
● Headers
● Body
● Status code
Ferramentas
para criação de
contratos
Swagger
A maior e mais ativa comunidade
de desenvolvedores, parte disso
em função de ser a mais antiga no
mercado.
https://swagger.io/
API Blueprint
Tem um website bonito e intuitivo
onde é fácil encontrar o projeto de
interesse.
https://apiblueprint.org/
RAML
Padrão aberto suportado por um
grupo de developers que inclui
pessoas da MuleSoft, AngularJS e
PayPal. É o mais intuitivo para
começar a escrever a
documentação.
https://raml.org/
Problemas encontrados no dia a dia
Gestão e
Governança
dos contratos
Ajustes e novas
funcionalidades
que acabam
quebrando
contrato
Atualização de
contrato que
não reflete na
aplicação
●
●
●
● Garante as boas práticas de design da sua api
● Permite desenvolvimento do lado cliente
paralelamente à de seu serviço
● Possibilita a utilização de mocks conforme contrato e
garante a qualidade do consumo da api.
Fazer um contrato antes de se
desenvolver a api:
Garantir que haja uma forma de
sabermos das mudanças de
contrato em tempo de
desenvolvimento.
Testes de Contrato
“Você coloca sua casa em chamas para testar seu
alarme de fumaça? Não, você testa o contrato que
mantém com seus ouvidos usando o botão de teste.”
(Pact)
T
i
p
o
s
Contractos
Orientados ao
Consumidor-
CDC
Contratos
orientados por
documentação
Ferramentas
● Pact
● Feign
● Spring Contract
● Joi
O que validar?
● Dados que retorna e estrutura do objeto de retorno
● Headers da resposta
● Se a resposta está de acordo.
● Se o content-type permanece o mesmo
● Se quando der erro o status está de acordo com os
códigos de erro.
● Se uma requisição com informações incompleta, qual
será o comportamento da requisição.
Moral da história
Adotamos o Spring Contract em partes
Usamos uma abordagem mais para teste de
contratos orientados por documentação
Obrigada
/paula-macedo-santana-dev
/
psanrosa13@gmail.com
@psanrosa13

Mais conteúdo relacionado

Mais procurados

Palestra do treinamento Lean Inception
Palestra do treinamento Lean InceptionPalestra do treinamento Lean Inception
Palestra do treinamento Lean InceptionPaulo Caroli
 
데브옵스(DevOps)의 현재와 미래 - ChatOps & VoiceOps (윤석찬)
데브옵스(DevOps)의 현재와 미래 - ChatOps & VoiceOps (윤석찬)데브옵스(DevOps)의 현재와 미래 - ChatOps & VoiceOps (윤석찬)
데브옵스(DevOps)의 현재와 미래 - ChatOps & VoiceOps (윤석찬)Amazon Web Services Korea
 
Extreme Programming
Extreme ProgrammingExtreme Programming
Extreme ProgrammingErkan Erol
 
Introduction to Feature Toggle and FF4J
Introduction to Feature Toggle and FF4JIntroduction to Feature Toggle and FF4J
Introduction to Feature Toggle and FF4JCédrick Lunven
 
Automação de testes - uma introdução sobre estratégias
Automação de testes - uma introdução sobre estratégiasAutomação de testes - uma introdução sobre estratégias
Automação de testes - uma introdução sobre estratégiasKleitor Franklint Correa Araujo
 
Criando uma arquitetura para seus testes de API com RestAssured
Criando uma arquitetura para seus testes de API com RestAssuredCriando uma arquitetura para seus testes de API com RestAssured
Criando uma arquitetura para seus testes de API com RestAssuredElias Nogueira
 
ALM - Testes Exploratórios
ALM - Testes ExploratóriosALM - Testes Exploratórios
ALM - Testes ExploratóriosAlan Carlos
 
TOTVS - Agile Testing e a Importância de se ter Estratégia de Testes
TOTVS - Agile Testing e a Importância de se ter Estratégia de TestesTOTVS - Agile Testing e a Importância de se ter Estratégia de Testes
TOTVS - Agile Testing e a Importância de se ter Estratégia de TestesSamanta Cicilia
 
Client side performance testing using blazemeter
Client side performance testing using blazemeterClient side performance testing using blazemeter
Client side performance testing using blazemeterGowthamraj Palani
 
QAOps - O QA com pézinho em DevOps (Ministry of Testing Floripa 2019)
QAOps - O QA com pézinho em DevOps (Ministry of Testing Floripa 2019)QAOps - O QA com pézinho em DevOps (Ministry of Testing Floripa 2019)
QAOps - O QA com pézinho em DevOps (Ministry of Testing Floripa 2019)Mayara Fernandes
 
Site Reliability Engineering - Descubra a nova era para (Infraestrutura|Opera...
Site Reliability Engineering - Descubra a nova era para (Infraestrutura|Opera...Site Reliability Engineering - Descubra a nova era para (Infraestrutura|Opera...
Site Reliability Engineering - Descubra a nova era para (Infraestrutura|Opera...Pery Lemke
 
Pirâmide de testes mobile, dividindo seus testes de maneira efetiva
Pirâmide de testes mobile, dividindo seus testes de maneira efetivaPirâmide de testes mobile, dividindo seus testes de maneira efetiva
Pirâmide de testes mobile, dividindo seus testes de maneira efetivaFrederico Augusto Do Carmo Moreira
 
Workshop Agile Testing Mindset
Workshop Agile Testing MindsetWorkshop Agile Testing Mindset
Workshop Agile Testing MindsetElias Nogueira
 
10 P's of Testability
10 P's of Testability10 P's of Testability
10 P's of TestabilityAsh Winter
 
Cross-Browser-Testing with Protractor & Browserstack
Cross-Browser-Testing with Protractor & BrowserstackCross-Browser-Testing with Protractor & Browserstack
Cross-Browser-Testing with Protractor & BrowserstackLeo Lindhorst
 
Technical Product Management at Nubank
Technical Product Management at NubankTechnical Product Management at Nubank
Technical Product Management at Nubankalexandre freire
 
Papel do QA na Transformação Ágil
Papel do QA na Transformação ÁgilPapel do QA na Transformação Ágil
Papel do QA na Transformação ÁgilElias Nogueira
 

Mais procurados (20)

Palestra do treinamento Lean Inception
Palestra do treinamento Lean InceptionPalestra do treinamento Lean Inception
Palestra do treinamento Lean Inception
 
데브옵스(DevOps)의 현재와 미래 - ChatOps & VoiceOps (윤석찬)
데브옵스(DevOps)의 현재와 미래 - ChatOps & VoiceOps (윤석찬)데브옵스(DevOps)의 현재와 미래 - ChatOps & VoiceOps (윤석찬)
데브옵스(DevOps)의 현재와 미래 - ChatOps & VoiceOps (윤석찬)
 
Extreme Programming
Extreme ProgrammingExtreme Programming
Extreme Programming
 
Introduction to Feature Toggle and FF4J
Introduction to Feature Toggle and FF4JIntroduction to Feature Toggle and FF4J
Introduction to Feature Toggle and FF4J
 
Automação de testes - uma introdução sobre estratégias
Automação de testes - uma introdução sobre estratégiasAutomação de testes - uma introdução sobre estratégias
Automação de testes - uma introdução sobre estratégias
 
Criando uma arquitetura para seus testes de API com RestAssured
Criando uma arquitetura para seus testes de API com RestAssuredCriando uma arquitetura para seus testes de API com RestAssured
Criando uma arquitetura para seus testes de API com RestAssured
 
ALM - Testes Exploratórios
ALM - Testes ExploratóriosALM - Testes Exploratórios
ALM - Testes Exploratórios
 
TOTVS - Agile Testing e a Importância de se ter Estratégia de Testes
TOTVS - Agile Testing e a Importância de se ter Estratégia de TestesTOTVS - Agile Testing e a Importância de se ter Estratégia de Testes
TOTVS - Agile Testing e a Importância de se ter Estratégia de Testes
 
Client side performance testing using blazemeter
Client side performance testing using blazemeterClient side performance testing using blazemeter
Client side performance testing using blazemeter
 
QAOps - O QA com pézinho em DevOps (Ministry of Testing Floripa 2019)
QAOps - O QA com pézinho em DevOps (Ministry of Testing Floripa 2019)QAOps - O QA com pézinho em DevOps (Ministry of Testing Floripa 2019)
QAOps - O QA com pézinho em DevOps (Ministry of Testing Floripa 2019)
 
Site Reliability Engineering - Descubra a nova era para (Infraestrutura|Opera...
Site Reliability Engineering - Descubra a nova era para (Infraestrutura|Opera...Site Reliability Engineering - Descubra a nova era para (Infraestrutura|Opera...
Site Reliability Engineering - Descubra a nova era para (Infraestrutura|Opera...
 
Pirâmide de testes mobile, dividindo seus testes de maneira efetiva
Pirâmide de testes mobile, dividindo seus testes de maneira efetivaPirâmide de testes mobile, dividindo seus testes de maneira efetiva
Pirâmide de testes mobile, dividindo seus testes de maneira efetiva
 
Manifesto Agil
Manifesto AgilManifesto Agil
Manifesto Agil
 
Workshop Agile Testing Mindset
Workshop Agile Testing MindsetWorkshop Agile Testing Mindset
Workshop Agile Testing Mindset
 
Selenium WebDriver com Docker
Selenium WebDriver com DockerSelenium WebDriver com Docker
Selenium WebDriver com Docker
 
How to start performance testing project
How to start performance testing projectHow to start performance testing project
How to start performance testing project
 
10 P's of Testability
10 P's of Testability10 P's of Testability
10 P's of Testability
 
Cross-Browser-Testing with Protractor & Browserstack
Cross-Browser-Testing with Protractor & BrowserstackCross-Browser-Testing with Protractor & Browserstack
Cross-Browser-Testing with Protractor & Browserstack
 
Technical Product Management at Nubank
Technical Product Management at NubankTechnical Product Management at Nubank
Technical Product Management at Nubank
 
Papel do QA na Transformação Ágil
Papel do QA na Transformação ÁgilPapel do QA na Transformação Ágil
Papel do QA na Transformação Ágil
 

Semelhante a Testes de contrato

Agilidade no Governo do Ceará
Agilidade no Governo do CearáAgilidade no Governo do Ceará
Agilidade no Governo do CearáPaulo Furtado
 
Testes de contrato em um contexto de services e microservices tdc-poa2016
Testes de contrato em um contexto de services e microservices tdc-poa2016Testes de contrato em um contexto de services e microservices tdc-poa2016
Testes de contrato em um contexto de services e microservices tdc-poa2016Bruno Tanoue
 
TDC2016POA | Trilha Ruby - Testes de contrato em um contexto de services e mi...
TDC2016POA | Trilha Ruby - Testes de contrato em um contexto de services e mi...TDC2016POA | Trilha Ruby - Testes de contrato em um contexto de services e mi...
TDC2016POA | Trilha Ruby - Testes de contrato em um contexto de services e mi...tdc-globalcode
 
Gestão ágil de contratos de desenvolvimento de software para governo
Gestão ágil de contratos de desenvolvimento de software para governoGestão ágil de contratos de desenvolvimento de software para governo
Gestão ágil de contratos de desenvolvimento de software para governoJoão Paulo Novais
 
Rodrigo Romero - Armadilhas no processo de contratação de um projeto ágil: de...
Rodrigo Romero - Armadilhas no processo de contratação de um projeto ágil: de...Rodrigo Romero - Armadilhas no processo de contratação de um projeto ágil: de...
Rodrigo Romero - Armadilhas no processo de contratação de um projeto ágil: de...DevCamp Campinas
 
O Papel do Product Owner
O Papel do Product OwnerO Papel do Product Owner
O Papel do Product OwnerMarcia Maia
 
Trabalho pds libre office 2
Trabalho pds libre office 2Trabalho pds libre office 2
Trabalho pds libre office 2Edinaldo Mendes
 
5 meses de python o que aprendi
5 meses de python  o que aprendi5 meses de python  o que aprendi
5 meses de python o que aprendiVinta Software
 
TDC Floripa 2018 - Metralhando sua API
TDC Floripa 2018 - Metralhando sua APITDC Floripa 2018 - Metralhando sua API
TDC Floripa 2018 - Metralhando sua APIEdlaine Zamora
 
Pfundo gp04-aq-sh1
Pfundo gp04-aq-sh1Pfundo gp04-aq-sh1
Pfundo gp04-aq-sh1Marco Coghi
 
Lidando com Equipes de Desenvolvimento
Lidando com Equipes de DesenvolvimentoLidando com Equipes de Desenvolvimento
Lidando com Equipes de Desenvolvimento4Soft
 
ASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis PaulinoASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis PaulinoComunidade NetPonto
 

Semelhante a Testes de contrato (20)

Agilidade no Governo do Ceará
Agilidade no Governo do CearáAgilidade no Governo do Ceará
Agilidade no Governo do Ceará
 
Testes de contrato em um contexto de services e microservices tdc-poa2016
Testes de contrato em um contexto de services e microservices tdc-poa2016Testes de contrato em um contexto de services e microservices tdc-poa2016
Testes de contrato em um contexto de services e microservices tdc-poa2016
 
TDC2016POA | Trilha Ruby - Testes de contrato em um contexto de services e mi...
TDC2016POA | Trilha Ruby - Testes de contrato em um contexto de services e mi...TDC2016POA | Trilha Ruby - Testes de contrato em um contexto de services e mi...
TDC2016POA | Trilha Ruby - Testes de contrato em um contexto de services e mi...
 
Gestão ágil de contratos de desenvolvimento de software para governo
Gestão ágil de contratos de desenvolvimento de software para governoGestão ágil de contratos de desenvolvimento de software para governo
Gestão ágil de contratos de desenvolvimento de software para governo
 
BDD em Ação
BDD em AçãoBDD em Ação
BDD em Ação
 
Rodrigo Romero - Armadilhas no processo de contratação de um projeto ágil: de...
Rodrigo Romero - Armadilhas no processo de contratação de um projeto ágil: de...Rodrigo Romero - Armadilhas no processo de contratação de um projeto ágil: de...
Rodrigo Romero - Armadilhas no processo de contratação de um projeto ágil: de...
 
Palestra Testes Ágeis - SEMAC INF UFRGS
Palestra Testes Ágeis - SEMAC INF UFRGSPalestra Testes Ágeis - SEMAC INF UFRGS
Palestra Testes Ágeis - SEMAC INF UFRGS
 
Metralhando sua API
 Metralhando sua API Metralhando sua API
Metralhando sua API
 
Manifesto Ágil.pdf
Manifesto Ágil.pdfManifesto Ágil.pdf
Manifesto Ágil.pdf
 
O Papel do Product Owner
O Papel do Product OwnerO Papel do Product Owner
O Papel do Product Owner
 
Trabalho pds libre office 2
Trabalho pds libre office 2Trabalho pds libre office 2
Trabalho pds libre office 2
 
COPA 4G
COPA 4GCOPA 4G
COPA 4G
 
5 meses de python o que aprendi
5 meses de python  o que aprendi5 meses de python  o que aprendi
5 meses de python o que aprendi
 
Metralhando sua API
Metralhando sua APIMetralhando sua API
Metralhando sua API
 
TDC Floripa 2018 - Metralhando sua API
TDC Floripa 2018 - Metralhando sua APITDC Floripa 2018 - Metralhando sua API
TDC Floripa 2018 - Metralhando sua API
 
Linuxtips - a saideira
Linuxtips - a saideiraLinuxtips - a saideira
Linuxtips - a saideira
 
Pfundo gp04-aq-sh1
Pfundo gp04-aq-sh1Pfundo gp04-aq-sh1
Pfundo gp04-aq-sh1
 
Lidando com Equipes de Desenvolvimento
Lidando com Equipes de DesenvolvimentoLidando com Equipes de Desenvolvimento
Lidando com Equipes de Desenvolvimento
 
Produto ou projeto
Produto ou projeto Produto ou projeto
Produto ou projeto
 
ASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis PaulinoASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis Paulino
 

Mais de Paula Santana

Boas Práticas para desenvolvimento java que nunca saíram de moda
Boas Práticas para desenvolvimento java que nunca saíram de modaBoas Práticas para desenvolvimento java que nunca saíram de moda
Boas Práticas para desenvolvimento java que nunca saíram de modaPaula Santana
 
Como começar quando se esta começando?
Como começar quando se esta começando?Como começar quando se esta começando?
Como começar quando se esta começando?Paula Santana
 
Desvendando a arquitetura orientada a eventos
Desvendando a arquitetura orientada a eventosDesvendando a arquitetura orientada a eventos
Desvendando a arquitetura orientada a eventosPaula Santana
 
Clean code com features do java 8 a java 14
Clean code com features do java 8 a java 14Clean code com features do java 8 a java 14
Clean code com features do java 8 a java 14Paula Santana
 
Como começas quando se está começando
Como começas quando se está começandoComo começas quando se está começando
Como começas quando se está começandoPaula Santana
 
Refatoracao de codigo
Refatoracao de codigoRefatoracao de codigo
Refatoracao de codigoPaula Santana
 
Desenvolvimento com arquitetura baseada em eventos
Desenvolvimento com arquitetura baseada em eventosDesenvolvimento com arquitetura baseada em eventos
Desenvolvimento com arquitetura baseada em eventosPaula Santana
 
Como fazer um bom desgn de c[odigo em java
Como fazer um bom desgn de c[odigo em javaComo fazer um bom desgn de c[odigo em java
Como fazer um bom desgn de c[odigo em javaPaula Santana
 
Workshop git para iniciantes
Workshop git para iniciantesWorkshop git para iniciantes
Workshop git para iniciantesPaula Santana
 
Facilitando a implementação de mensageria em aplicações Java
Facilitando a implementação de mensageria em aplicações JavaFacilitando a implementação de mensageria em aplicações Java
Facilitando a implementação de mensageria em aplicações JavaPaula Santana
 
Como uma linguagem de programação pode empoderar uma mulher
Como uma linguagem de programação pode empoderar uma mulherComo uma linguagem de programação pode empoderar uma mulher
Como uma linguagem de programação pode empoderar uma mulherPaula Santana
 
Graphql - o que é, onde e porque usar?
Graphql - o que é, onde e porque usar?Graphql - o que é, onde e porque usar?
Graphql - o que é, onde e porque usar?Paula Santana
 
Desenvolvendosistemasgigantesnainternetcomarquiteturabaseada 190213231932 (1)
Desenvolvendosistemasgigantesnainternetcomarquiteturabaseada 190213231932 (1)Desenvolvendosistemasgigantesnainternetcomarquiteturabaseada 190213231932 (1)
Desenvolvendosistemasgigantesnainternetcomarquiteturabaseada 190213231932 (1)Paula Santana
 
Desenvolvimento de sistemas com mensageria
Desenvolvimento de sistemas com mensageriaDesenvolvimento de sistemas com mensageria
Desenvolvimento de sistemas com mensageriaPaula Santana
 
4 revolucao industrial
4 revolucao industrial4 revolucao industrial
4 revolucao industrialPaula Santana
 
Desenvolvendo sistemas gigantes na internet com arquitetura baseada
Desenvolvendo sistemas gigantes na internet com arquitetura baseadaDesenvolvendo sistemas gigantes na internet com arquitetura baseada
Desenvolvendo sistemas gigantes na internet com arquitetura baseadaPaula Santana
 
Arquitetura orientada a eventos em ambientes complexos tdc
Arquitetura orientada a eventos em ambientes complexos tdcArquitetura orientada a eventos em ambientes complexos tdc
Arquitetura orientada a eventos em ambientes complexos tdcPaula Santana
 
Experiências de quem utiliza a Stack da Netflix e Spring boot em serviços de ...
Experiências de quem utiliza a Stack da Netflix e Spring boot em serviços de ...Experiências de quem utiliza a Stack da Netflix e Spring boot em serviços de ...
Experiências de quem utiliza a Stack da Netflix e Spring boot em serviços de ...Paula Santana
 

Mais de Paula Santana (20)

Boas Práticas para desenvolvimento java que nunca saíram de moda
Boas Práticas para desenvolvimento java que nunca saíram de modaBoas Práticas para desenvolvimento java que nunca saíram de moda
Boas Práticas para desenvolvimento java que nunca saíram de moda
 
Como começar quando se esta começando?
Como começar quando se esta começando?Como começar quando se esta começando?
Como começar quando se esta começando?
 
Desvendando a arquitetura orientada a eventos
Desvendando a arquitetura orientada a eventosDesvendando a arquitetura orientada a eventos
Desvendando a arquitetura orientada a eventos
 
Clean code com features do java 8 a java 14
Clean code com features do java 8 a java 14Clean code com features do java 8 a java 14
Clean code com features do java 8 a java 14
 
Como começas quando se está começando
Como começas quando se está começandoComo começas quando se está começando
Como começas quando se está começando
 
Refatoracao de codigo
Refatoracao de codigoRefatoracao de codigo
Refatoracao de codigo
 
Desenvolvimento com arquitetura baseada em eventos
Desenvolvimento com arquitetura baseada em eventosDesenvolvimento com arquitetura baseada em eventos
Desenvolvimento com arquitetura baseada em eventos
 
Como fazer um bom desgn de c[odigo em java
Como fazer um bom desgn de c[odigo em javaComo fazer um bom desgn de c[odigo em java
Como fazer um bom desgn de c[odigo em java
 
Workshop git para iniciantes
Workshop git para iniciantesWorkshop git para iniciantes
Workshop git para iniciantes
 
Facilitando a implementação de mensageria em aplicações Java
Facilitando a implementação de mensageria em aplicações JavaFacilitando a implementação de mensageria em aplicações Java
Facilitando a implementação de mensageria em aplicações Java
 
Como uma linguagem de programação pode empoderar uma mulher
Como uma linguagem de programação pode empoderar uma mulherComo uma linguagem de programação pode empoderar uma mulher
Como uma linguagem de programação pode empoderar uma mulher
 
Graphql - o que é, onde e porque usar?
Graphql - o que é, onde e porque usar?Graphql - o que é, onde e porque usar?
Graphql - o que é, onde e porque usar?
 
Desenvolvendosistemasgigantesnainternetcomarquiteturabaseada 190213231932 (1)
Desenvolvendosistemasgigantesnainternetcomarquiteturabaseada 190213231932 (1)Desenvolvendosistemasgigantesnainternetcomarquiteturabaseada 190213231932 (1)
Desenvolvendosistemasgigantesnainternetcomarquiteturabaseada 190213231932 (1)
 
Desenvolvimento de sistemas com mensageria
Desenvolvimento de sistemas com mensageriaDesenvolvimento de sistemas com mensageria
Desenvolvimento de sistemas com mensageria
 
4 revolucao industrial
4 revolucao industrial4 revolucao industrial
4 revolucao industrial
 
Conhecendo o Jnosql
Conhecendo o JnosqlConhecendo o Jnosql
Conhecendo o Jnosql
 
Desenvolvendo sistemas gigantes na internet com arquitetura baseada
Desenvolvendo sistemas gigantes na internet com arquitetura baseadaDesenvolvendo sistemas gigantes na internet com arquitetura baseada
Desenvolvendo sistemas gigantes na internet com arquitetura baseada
 
Arquitetura orientada a eventos em ambientes complexos tdc
Arquitetura orientada a eventos em ambientes complexos tdcArquitetura orientada a eventos em ambientes complexos tdc
Arquitetura orientada a eventos em ambientes complexos tdc
 
Spring Rest
Spring RestSpring Rest
Spring Rest
 
Experiências de quem utiliza a Stack da Netflix e Spring boot em serviços de ...
Experiências de quem utiliza a Stack da Netflix e Spring boot em serviços de ...Experiências de quem utiliza a Stack da Netflix e Spring boot em serviços de ...
Experiências de quem utiliza a Stack da Netflix e Spring boot em serviços de ...
 

Testes de contrato