Skip to content

felurye/ruby-api-test

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Automação de Testes de API com Ruby

Testes de API com BDD usando Cucumber, HTTParty e RSpec Expectations.

API testada

ServeRest - API REST para prática de testes.

Stack

Biblioteca Uso
Cucumber BDD - cenários em Gherkin
HTTParty Cliente HTTP
RSpec Expectations Assertions
FactoryBot Geração de dados estruturados
Faker Geração de dados falsos
RuboCop Padronização de estilo

Pré-requisitos

  • Ruby 3.3.0 (rbenv ou RVM recomendado)
  • Bundler

Instalação

bundle install

Execução

# Ambiente de produção (padrão)
bundle exec cucumber

# Ambiente de homologação
bundle exec cucumber -p hlg

# Com relatório HTML
bundle exec cucumber -p html_report

# Cenário específico por tag
bundle exec cucumber --tags @post_user

Relatórios

Os relatórios são gerados na pasta reports/ (ignorada pelo Git).

bundle exec cucumber -f html -o reports/features_report.html

Cenários cobertos

Tag Cenário Tipo
@get_users GET lista de usuários positivo
@get_user GET usuário por ID positivo
@get_user_invalid GET com ID inválido negativo
@post_user POST novo usuário positivo
@post_user_duplicate POST com email duplicado negativo
@put_user PUT atualizar usuário positivo
@delete_user DELETE usuário positivo

CI/CD

Os testes rodam automaticamente via GitHub Actions em pushes para main e dev e em pull requests. O relatório é disponibilizado como artefato da execução.

Troubleshooting

No such file or directory @ rb_sysopen - reports/features_report.html

O diretório reports/ é ignorado pelo Git e precisa existir antes de gerar o relatório. O env.rb cria o diretório automaticamente ao inicializar o Cucumber, então basta executar normalmente:

bundle exec cucumber -p html_report

Se o erro persistir, crie o diretório manualmente:

mkdir reports

Notas de estudo

Documentação introdutória sobre os conceitos e ferramentas do projeto: notes/README.md

# Tópico
1 Introdução
2 Configuração do Projeto
3 Cucumber e BDD
4 HTTParty na Prática
5 FactoryBot e Faker

About

API test automation using Ruby, HTTParty, RSpec and Cucumber (BDD) for REST API validation.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Contributors