Apidog

All-in-one Collaborative API Development Platform

Design de API

Documentação de API

Depuração de API

Mock de API

Testes Automatizados de API

Inscreva-se gratuitamente
Home / Ponto de vista / Dominando o Teste de API com React Mock API e Axios

Dominando o Teste de API com React Mock API e Axios

Descubra como dominar testes de API em React com Axios e APIs simuladas. Aprenda o essencial sobre como configurar o Axios, criar APIs simuladas e aprimorar seu fluxo de trabalho de testes com Apidog.

Você já se encontrou no meio de um projeto React, preso em como testar suas chamadas de API sem atingir o servidor real toda vez? Se você já passou por isso, está no lugar certo. Hoje, vamos nos aprofundar no mundo da API mock do React com Axios. Se você é um desenvolvedor experiente ou está apenas começando, este guia irá te ensinar tudo o que você precisa saber.

💡
Mas espere, tem mais! Se você está sério sobre testes de API e quer facilitar ainda mais sua vida, você definitivamente deve conferir Apidog, uma ferramenta fantástica para simplificar seu processo de teste de API. Baixe Apidog gratuitamente e leve seus testes para o próximo nível!
button

O que é Teste de API?

Teste de API é um tipo de teste de software que envolve testar interfaces de programação de aplicativos (APIs) diretamente. Ele verifica a funcionalidade, confiabilidade, performance e segurança das APIs. Em termos mais simples, é sobre garantir que seu aplicativo se comunique corretamente com outros sistemas, serviços ou aplicativos.

Por que o Teste de API é Importante?

APIs são a espinha dorsal das aplicações web modernas. Elas permitem que diferentes sistemas interajam de forma integrada. Sem testes robustos de API, você corre o risco de ter interações defeituosas, o que pode levar a uma experiência de usuário ruim, vazamentos de dados e falhas no sistema.

Entendendo o Axios no React

Se você tem trabalhado com React, provavelmente já ouviu falar do Axios. É um cliente HTTP baseado em promessas para JavaScript, tornando fácil enviar requisições HTTP assíncronas para endpoints REST.

Recursos Chave do Axios:

  • Fácil de usar: Com uma API simples e intuitiva.
  • Suporta Promessas: Tornando perfeito para lidar com requisições assíncronas.
  • Interceptores: Permitem que você transforme requisições e respostas.
  • Cancelamento: Cancele requisições facilmente.

Por que APIs Mock são Essenciais

APIs Mock desempenham um papel crucial no desenvolvimento e testes. Elas permitem que você simule respostas da sua API sem atingir o servidor real. Isso significa que você pode desenvolver e testar seu frontend independentemente do seu backend.

Benefícios das APIs Mock:

  • Velocidade: Reduz o tempo gasto aguardando respostas da API.
  • Isolamento: Teste a lógica do frontend sem dependências do backend.
  • Consistência: Garanta respostas consistentes para testes previsíveis.

Configurando o Axios em um Projeto React

Vamos arregaçar as mangas e configurar o Axios em um projeto React. Se você ainda não tem um projeto React, crie um usando o Create React App.

npx create-react-app meu-app
cd meu-app
npm install axios

Agora, vamos criar um serviço para gerenciar nossas chamadas de API. Crie um novo arquivo apiService.js no diretório src:

import axios from 'axios';

const apiService = axios.create({
  baseURL: 'https://api.exemplo.com',
  timeout: 1000,
  headers: {'X-Custom-Header': 'foobar'}
});

export default apiService;

Criando uma API Mock com Axios

Simular respostas de API no Axios é simples. Vamos usar axios-mock-adapter, uma biblioteca simples para simular requisições do Axios.

Instale axios-mock-adapter:

npm install axios-mock-adapter

Agora, vamos criar nossa API mock. Em src, crie um novo arquivo mockApi.js:

import axios from 'axios';
import MockAdapter from 'axios-mock-adapter';

// Isso configura o adaptador mock na instância padrão
const mock = new MockAdapter(axios);

// Simule qualquer requisição GET para /users
// os argumentos para reply são (status, data, headers)
mock.onGet('/users').reply(200, {
  users: [{ id: 1, name: 'John Smith' }]
});

// Simule qualquer requisição POST para /login
// os argumentos para reply são (status, data, headers)
mock.onPost('/login').reply(200, {
  user: { id: 1, name: 'John Smith' },
  token: 'abcd1234'
});

Com a API mock configurada, você pode agora testar seus componentes sem atingir o servidor real.

Integrando Apidog para Testes de API Aprimorados

Apidog é uma ferramenta poderosa que aprimora suas capacidades de teste de API. Ela permite que você projete, teste e simule APIs tudo em um só lugar. Aqui está como integrar Apidog com seu projeto React.

button

Para testar sua API com Apidog, você precisa seguir estes passos:

Passo 1: Abra Apidog e crie uma nova requisição.

Apidog

Passo 2: No editor de teste, insira a URL do seu endpoint de API, selecione o método HTTP e adicione quaisquer cabeçalhos, parâmetros ou dados de corpo que você precisar. Por exemplo, você pode testar a rota que retorna uma mensagem simples que criamos anteriormente:

Apidog

Passo 3: Clique no botão Enviar e veja o resultado do seu teste. Você deve ver o código de status, o tempo de resposta e o corpo da resposta da sua API. Por exemplo, você deve ver algo como isto:

Apidog

Apidog é uma ótima ferramenta para testar suas APIs, já que ajuda a garantir a qualidade, confiabilidade e performance dos seus serviços web. Também economiza seu tempo e esforço, pois você não precisa escrever nenhum código ou instalar nenhum software para testar suas APIs. Você pode apenas usar seu navegador e aproveitar a interface amigável e recursos do Apidog.

Guia Passo a Passo para Dominar APIs Mock com Apidog

Passo 1. Crie um Novo Projeto: Apidog usa projetos para gerenciar APIs. Você pode criar múltiplas APIs sob um projeto. Cada API deve pertencer a um projeto. Para criar um novo projeto, clique no botão "Novo Projeto" no lado direito da página inicial do aplicativo Apidog.

Criar um Novo Projeto

Passo 2. Crie uma Nova API: Para demonstrar a criação de uma API para detalhes do usuário, siga estes passos:

  • Método de requisição: GET.
  • URL: api/user/{id}, onde {id} é o parâmetro que representa o ID do usuário.
  • Tipo de resposta: json.
  • Conteúdo da resposta:
{
id: number, // id do usuário
name: string, // nome de usuário
gender: 1 | 2, // gênero: 1 para masculino, 2 para feminino
phone: string, // número de telefone
avatar: string, // endereço da imagem do avatar
}

Para criar uma nova interface, vá para a página inicial do projeto criado anteriormente e clique no botão "+" no lado esquerdo.

Criar uma Nova Interface

Preencha as informações da interface correspondente e salve.

Parâmetros
Resposta

Com isso, a interface de detalhes do usuário foi criada. Enquanto isso, Apidog gerou automaticamente um mock para nós com base no formato e tipo dos campos de resposta. Clique no botão " Requisição" sob Mock para visualizar a resposta mock.

Requisição da API

Vamos dar uma olhada na resposta mock. Clique no botão "Requisição" e depois clique em "Enviar" na página que se abre.

img
Enviar a Requisição

Passo 3. Defina Regras de Correspondência do Mock: Você notou algo mágico? Apidog definiu o campo "name" como tipo string, porém retorna nomes; definiu o campo "phone" como tipo string, porém retorna números de telefone; definiu o campo "avatar" como tipo string, porém retorna endereços de imagem.

A razão é que Apidog suporta definir regras de correspondência para o Mock. Apidog tem regras pré-definidas, e os usuários também podem personalizar suas próprias regras. Essas regras podem ser encontradas em Configurações do Projeto > Configurações de Funcionalidade > Configurações do Mock.

Definir Regras de Correspondência do Mock

Você também pode definir regras de Mock dedicadas para cada campo. Clique em "Mock" ao lado do campo:

Mock

As regras de correspondência do Mock do Apidog são as seguintes:

  1. Quando um campo atende a uma regra de correspondência, a resposta retornará um valor aleatório que satisfaça a regra de Mock.
  2. Se um campo não atender a nenhuma regra de correspondência, a resposta retornará um valor aleatório que atenda ao tipo de dados do campo.

Existem três tipos de regras de correspondência:

  1. Coringas: * combina zero ou mais caracteres, e ? combina qualquer único caractere. Por exemplo, *name pode combinar nome do usuário, nome, e assim por diante.
  2. Expressões regulares.
  3. Correspondência exata.

As regras de Mock são totalmente compatíveis com Mock.js e ampliaram algumas sintaxes que Mock.js não possui (como números de telefone domésticos "@phone"). As regras de Mock comumente usadas incluem:

  1. @integer: inteiro. @integer(min, max).
  2. @string: string. @string(length): especifica o comprimento da string.
  3. @regexp(regexp): expressão regular.
  4. @url: URL.

Durante o desenvolvimento, podemos encontrar cenários de Mock flexíveis e complexos, como retornar conteúdo personalizado com base em diferentes parâmetros de requisição. Por exemplo, retornar informações normais do usuário quando o ID é 1, e relatar um erro quando o ID é 2. Apidog também suporta esses cenários, e aqueles interessados podem conferir o documento de Mock Avançado.

Melhores Práticas para Simular APIs

Simular APIs é uma técnica poderosa, mas é essencial seguir as melhores práticas para garantir testes eficazes.

1. Mantenha os Mocks Atualizados

Garanta que suas APIs mock reflitam as últimas mudanças em suas APIs reais. Isso evita discrepâncias e garante testes precisos.

2. Use Dados Realistas

Use dados realistas em seus mocks para simular cenários do mundo real. Isso ajuda a identificar problemas que podem surgir em produção.

3. Limite o Uso de Mock

Embora os mocks sejam ótimos para testes, não confie neles exclusivamente. Teste com APIs reais sempre que possível para capturar problemas que os mocks possam perder.

Armadilhas Comuns e Como Evitá-las

Simular APIs pode introduzir desafios se não for feito corretamente. Aqui estão algumas armadilhas comuns e como evitá-las.

1. Over-Mocking

Confiar demais em mocks pode dar uma falsa sensação de segurança. Equilibre testes de mock com testes de integração usando APIs reais.

2. Mocks Inconsistentes

Garanta consistência em seus dados mock para evitar testes flutuantes. Use ferramentas como Apidog para gerar dados mock consistentes.

3. Ignorar Casos Limite

Não teste apenas os caminhos felizes. Use mocks para simular casos limite e garantir que sua aplicação lide com erros de forma elegante.

Conclusão

Simular APIs com Axios em um projeto React pode melhorar significativamente seu fluxo de trabalho de desenvolvimento e a eficiência dos testes. Usando ferramentas como Apidog, você pode simplificar seu processo de teste de API, garantindo que sua aplicação seja robusta e confiável.

Lembre-se, enquanto os mocks são poderosos, devem complementar, e não substituir, o teste com APIs reais. Mantenha seus mocks atualizados, use dados realistas e equilibre testes de mock com testes de integração. Boa codificação!

button

Junte-se à Newsletter da Apidog

Inscreva-se para ficar atualizado e receber os últimos pontos de vista a qualquer momento.