Teste automatizado de API com frisby e jasmine

O Frisby é um framework para teste de API REST que roda em cima do nodejs. Seu principal apelo é a facilidade em se fazer testes automatizados de API com o apoio do framework de teste BDD jasmine. Instalação: Pré requisitos: nodejs, npm. jasmine-node. Instalação global. frisby. Instalação local no projeto. Hello, World! Para o uso devemos instanciar seu módulo:

O Frisby é um framework para teste de API REST que roda em cima do nodejs. Seu principal apelo é a facilidade em se fazer testes automatizados de API com o apoio do framework de teste BDD jasmine.

Instalação:

Pré requisitos: nodejs, npm.

  1. jasmine-node. Instalação global.
  1. frisby. Instalação local no projeto.

Hello, World!

Para o uso devemos instanciar seu módulo:

No seu uso mais básico, passamos como parâmetro a url a ser chamada e a resposta esperada.

Com o comando acima, estamos testando a API sendo que seu sucesso depende do código de retorno HTTP 200.

Por convenção devemos salvar este arquivo de teste com o sufixo ‘-spec.js’. Ex: ‘pessoa-spec.js’

Para execução do teste e para que o mesmo gere relatório no formato ‘junitreport’ devemos executar o seguinte comando:

Na prática apontamos para um pasta de teste para que todos sejam executados. Ex:

Já temos o essencial para integração do teste de api com alguma ferramenta de CI como o Jenkins(https://jenkins-ci.org/) com relatório padronizado.

Hello, Universe!

O framework oferece alguns recursos interessantes e de fácil implementação para testar a resposta da API REST.

  1. Testar se a resposta HTTP contém um cabeçalho específico.
  1. Testar se a resposta HTTP contém um objeto com um conteúdo específico.
  1. Testar se a resposta HTTP contém um objeto com um tipo específico.

4) Realizar um teste que depende da conclusão de um teste anterior.

No teste acima, caso tenha sucesso ao obter informações de uma pessoa será feito um teste da exclusão da mesma.

Integração com GULP(Projetos em nodejs)

Quando a aplicação backend é feita em nodejs é interessante configurar o gulpjs(https://gulpjs.com/) para o gerenciamento dos testes. No exemplo abaixo o gulp é configurado para iniciar a aplicação backend, disparar os testes e finalizar a aplicação:

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *