O que é um mock server?

O que é um mock server?

Um mock server em Postman é uma ferramenta que nos permite simular as respostas de uma API (Application Programming Interfaces - Interface de Programação de Aplicativos). Isto é especialmente útil quando em nosso ambiente de trabalho ainda não temos uma API desenvolvida pela equipe backend, pois com ela podemos criar ambientes onde obteremos uma resposta do servidor.

Com um mock server você pode definir e configurar diferentes endpoints de acordo com as necessidades e respostas de acordo com a situação. As respostas podem incluir dados de amostra ou até mesmo respostas predefinidas para validar pontos no seu aplicativo. Isso é especialmente útil nos estágios iniciais do desenvolvimento, quando você ainda não possui uma API real.

Neste artigo vou explicar as vantagens, desvantagens e um exemplo prático de utilização desta ferramenta.

OBS: O Postman pode ser usado na web ou com um aplicativo baixado. Ambos têm a mesma funcionalidade e estão vinculados. Neste artigo usaremos o aplicativo baixado, mas você pode usar o que quiser.

Vantagens

✅ Usar um mock server ou servidor simulado oferece muitas vantagens significativas, pois em um estágio inicial do projeto, onde não temos uma API na qual confiar, isso pode fazer uma diferença sólida em até onde podemos ir em um projeto. Uma vantagem importante é que ele é totalmente independente de um servidor real, já que o servidor mock permite simular uma resposta da API sem ter um servidor real.

✅ Você pode testar seu aplicativo antecipadamente e validar o comportamento do projeto muito antes de a API estar pronta, sem afetar um servidor real.

✅ Controle sobre respostas: você pode configurar o servidor mock para que possa retornar respostas específicas que te ajudem a testar diferentes cenários ou testar limites em seu projeto, o que é ótimo, pois se seu projeto exigir muita lógica, isso vai te ajudar muito mais para encontrar problemas e fornecer soluções de forma mais eficaz.

Também ajuda a reduzir a dependência de serviços externos durante o desenvolvimento, melhorando assim a eficiência e permitindo maior automação nos testes.

Desvantagens

✖️Os mocks, devido à sua natureza simulada, podem não capturar todas as complexidades do sistema real, o que pode levar a falsos positivos nos testes. Além disso, se não forem mantidos adequadamente, os mocks podem se tornar obsoletos e não refletir com precisão o comportamento do sistema em produção. Isso pode levar a falhas inesperadas ao conectar-se ao sistema real.

Como criar um servidor simulado no Postman?

Uma API aberta deve ser criada. Para isso, devemos seguir as seguintes instruções:

Passo 1: No lado esquerdo veremos um menu lateral, selecione APIs e clique no ícone adicionar.


Passo 2: Para alterar o nome padrão que aparece, podemos fazer isso de várias maneiras:

  • Pelo teclado: Pressionando Ctrl + E.
  • Pela seleção de menu: Encontra-se no lado direito do nome padrão New API, clique nos três pontos laterais e se expandirá o menu no qual você deve selecionar, renomear.
  • Pela descrição da API: Ou seja, quando clicamos no nome padrão, uma visualização é estendida para a direita. Na parte superior, selecione o nome e renomeie-o.


Passo 3: Devemos ter uma Open Api criada. Para os propósitos deste exemplo, usaremos o seguinte:

Exemplo (em espanhol) chamado: libreria.json

openapi: 3.0.0

info:

title: API de Librería

description: API para gestionar libros y autores en una librería

version: 1.0.0

paths:

/libros:

get:

summary: Obtiene la lista de todos los libros

responses:

'200':

description: Lista de libros obtenida correctamente

content:

application/json:

example:

libros:

- id: 1

titulo: "Cien años de soledad"

autor: "Gabriel García Márquez"

- id: 2

titulo: "1984"

autor: "George Orwell"

post:

summary: Crea un nuevo libro

requestBody:

required: true

content:

application/json:

schema:

type: object

properties:

titulo:

type: string

autor:

type: string

responses:

'201':

description: Libro creado correctamente

'400':

description: Petición inválida

/libros/{id}:

parameters:

- name: id

in: path

required: true

description: ID del libro

schema:

type: integer

get:

summary: Obtiene un libro por su ID

responses:

'200':

description: Libro obtenido correctamente

content:

application/json:

example:

id: 1

titulo: "Cien años de soledad"

autor: "Gabriel García Márquez"

'404':

description: Libro no encontrado

put:

summary: Actualiza un libro existente por su ID

requestBody:

required: true

content:

application/json:

schema:

type: object

properties:

titulo:

type: string

autor:

type: string

responses:

'200':

description: Libro actualizado correctamente

'404':

description: Libro no encontrado

'400':

description: Petición inválida

delete:

summary: Elimina un libro por su ID

responses:

'204':

description: Libro eliminado correctamente

'404':

description: Libro no encontrado

👉 Se quiser baixar o exemplo, você pode fazê-lo aqui.

O arquivo de exemplo deve ser salvo na definition do Postman.

⚠️ Deve ser selecionado como JSON, pois este é o formato do exemplo. Se você precisar de YAML, o arquivo deverá ser convertido previamente.




A seguir, nos três pontos à direita do nome da API, clique e selecione add collection, seguido pela opção generate from definition.


No modal que nos mostra após a opção selecionada, escreva o nome da coleção. Neste exemplo será LibreríaAPI, então clique em Generate Collection.


Como já criamos a coleção, visualizamos desta forma:


⚠️ Se por algum motivo você não conseguir vê-lo neste momento, revise as etapas anteriores.

Agora precisamos que a coleção seja encontrada junto com as demais. Então, clique nos três pontos laterais e selecione copy to collections.


Isso adicionará a coleção criada na seção APIs ao arquivo Collections no menu do lado esquerdo do Postman.

Vamos ao menu do lado esquerdo do Postman e clicamos em Mock Server, selecionando create mock server.

Selecionamos aí a coleção que queremos, neste caso Librería API.


Agora o nome do servidor simulado está escrito. Neste exemplo será PruebaLibrería. Então clique Create Mock Server.


Se pudermos ver isso, conseguimos criar o servidor simulado corretamente.


Para testar o servidor simulado, é muito simples:

Passo 1: Copiamos o link que vemos na imagem anterior.

Passo 2: Abrimos uma solicitação http no Postman. Neste exemplo será verificando o endpoint: /libros/{id}, que depois de concluído fica assim:

https://fa6bd7c6-c07e-4f26-98c6-4aa37fcce937.mock.pstmn.io/libros/1

A resposta deveria ser:

{

"example": {

"id": 1,

"titulo": "Cien años de soledad",

"autor": "Gabriel García Márquez"

}

}



Ao clicar no botão enviar, podemos ver uma resposta à solicitação http, o que é o maravilhoso desta ferramenta, já que tudo o que criamos no momento foi apenas texto e, mesmo assim, podemos ver que podemos ver o funcionamento da API como se estivesse em operação normal.

Conclusões

Usar um servidor simulado com Postman é essencial no desenvolvimento de software por vários motivos fundamentais. Em um mundo onde a velocidade e a precisão são fundamentais, os servidores simulados atuam como pontes vitais entre as equipes de desenvolvimento, especialmente em ambientes ágeis.

Ao simular as respostas do servidor antes que o back-end esteja totalmente desenvolvido, as equipes de front-end podem avançar com seus trabalhos sem depender de implementações de back-end. Isso incentiva uma colaboração mais tranquila e permite que o desenvolvimento de front-end e back-end progrida simultaneamente, acelerando o tempo de lançamento no mercado.

Além disso, os servidores simulados são valiosos no contexto dos testes de integração. Eles permitem que as equipes verifiquem como os diferentes componentes do sistema interagem antes de estarem totalmente operacionais. Isso facilita a identificação antecipada de problemas de integração, economizando tempo e recursos significativos à medida que o projeto avança para estágios mais avançados. Os mocks também fornecem um ambiente controlado e previsível para testes, garantindo que os testes sejam consistentes e reproduzíveis, fatores críticos para garantir a qualidade do software.

Outro benefício importante reside na sua capacidade de reduzir a dependência de serviços externos durante o desenvolvimento. As equipes podem trabalhar de forma independente, sem ter que esperar que serviços externos estejam disponíveis para testes. Isto é especialmente útil em projetos complexos onde vários serviços e equipes estão envolvidos, pois cada equipe pode desenvolver e testar sua funcionalidade usando simulações sem se preocupar com a disponibilidade de outros serviços.

No entanto, é crucial notar que, embora os servidores simulados Postman sejam poderosos, a sua eficácia depende da sua correcta implementação e manutenção. Eles devem ser atualizados regularmente para refletir com precisão o comportamento do sistema em produção e garantir que os testes sejam verdadeiramente representativos do mundo real. Em última análise, usar um servidor simulado com o Postman não apenas acelera o processo de desenvolvimento, mas também melhora a qualidade do software, facilitando uma colaboração mais tranquila, testes de integração eficazes e uma abordagem mais eficiente para o desenvolvimento de aplicativos.

Espero que este conteúdo seja muito útil para você praticar novas técnicas em seus projetos. Nunca pare de praticar todo o conhecimento para se tornar cada vez melhor 💻.

Até a próxima! 🚀

💡
As opiniões e comentários expressos neste artigo são de propriedade exclusiva de seu autor e não representam necessariamente o ponto de vista da Revelo.

A Revelo Content Network acolhe todas as raças, etnias, nacionalidades, credos, gêneros, orientações, pontos de vista e ideologias, desde que promovam diversidade, equidade, inclusão e crescimento na carreira dos profissionais de tecnologia.