Gerador Automático de BDD em Ruby

Visão Geral

Ferramenta Ruby para gerar automaticamente arquivos Gherkin (.feature) e definições de passos (steps.rb) a partir de histórias em texto. Atende aos padrões ISTQB, suporta parametrização com blocos de exemplos e fornece relatórios de QA (rastreabilidade, backups e PDF).

Instalação

Adicione ao seu Gemfile:

gem 'bddgenx'

Execute:

bundle install

Ou instale diretamente:

gem install bddgenx

Uso no Código

require 'bddgenx'

# Gera todas as features e steps a partir dos .txt em input/
Bddgenx::Runner.execute

# Opcional: gerar apenas novos artefatos
Bddgenx::Runner.execute(only_new: true)

# Opcional: gerar apenas uma feature específica
Bddgenx::Runner.execute(feature: 'input/minha_historia.txt')

Tarefa Rake (opcional)

Em um projeto Rails ou Ruby com Rake, adicione ao Rakefile:

require 'bddgenx'
require 'rake'

namespace :bddgenx do
  desc 'Gera .feature e steps a partir de histórias em input/'
  task :gerar do
    Bddgenx::Runner.execute
  end
end

Formato do Arquivo de Entrada (.txt)

# language: pt
Como um usuário do sistema
Quero fazer login
Para acessar minha conta

[SUCCESS]
Quando preencho <email> e <senha>
Então vejo a tela inicial

[EXAMPLES]
| email            | senha   | resultado               |
| [email protected]    | 123456  | login realizado         |
| [email protected]  | senha   | credenciais inválidas   |

Artefatos de QA

  • Rastreabilidade: reports/output/rastreabilidade.csv com colunas: Funcionalidade, Tipo, Tag, Cenário, Passo, Origem
  • Backup: versões antigas de .feature em reports/backup com timestamp
  • PDF: exporta features em P/B para reports/pdf via PDFExporter

Integração CI/CD

Exemplo de GitHub Actions:

jobs:
  gerar_bdd:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - uses: ruby/setup-ruby@v1
        with:
          ruby-version: '3.x'
      - run: bundle install
      - run: bundle exec ruby -e "require 'bddgenx'; Bddgenx::Runner.execute(only_new: true)"

Licença

MIT © 2025 David Nascimento