Básico de TDD usando Ruby

Básico de TDD usando Ruby

Básico de TDD usando Ruby

O Test-Driven Development (TDD) é uma abordagem de desenvolvimento de software que envolve escrever os testes antes de implementar o código. Aqui está um exemplo básico de como aplicar o TDD usando Ruby:

  • Passo 1: Escrever o teste Comece escrevendo um teste que descreva o comportamento desejado do código que você irá implementar. Aqui está um exemplo de teste usando o framework RSpec:
# arquivo: calculator_spec.rb

require 'rspec'
require_relative 'calculator'

describe Calculator do
  it 'deve somar dois números corretamente' do
    calculator = Calculator.new
    result = calculator.sum(2, 3)
    expect(result).to eq(5)
    end
  end

Nesse exemplo, estamos testando a funcionalidade de soma em uma classe Calculator. O teste espera que a soma de 2 e 3 seja igual a 5.

  • Passo 2: Executar o teste (e falhar) Agora, execute o teste. Como você ainda não implementou o código, o teste irá falhar, o que é esperado neste ponto.
$ rspec calculator_spec.rb

Failures

  1) Calculator deve somar dois números corretamente
     Failure/Error: expect(result).to eq(5)

        expected: 5
             got: nil
      
      (compared using ==)
  • Passo 3: Implementar o código mínimo necessário Agora, implemente o código mínimo necessário para fazer o teste passar. Neste caso, crie um arquivo calculator.rb e defina a classe Calculator com o método sum:
# arquivo: calculator.rb

class Calculator
  def sum(a, b)
  a + b
  end
end
  • Passo 4: Executar o teste novamente (e passar) Execute o teste novamente e verifique se ele passa agora:
$ rspec calculator_spec.rb

1 example, 0 failures

O teste deve passar sem erros. Isso significa que a implementação do método sum na classe Calculator está correta.

  • Passo 5: Refatorar e repetir

Agora que o teste passou, você pode refatorar o código se necessário. Refatoração envolve melhorar o design, legibilidade e desempenho do código sem alterar seu comportamento. Durante a refatoração, você pode executar os testes novamente para garantir que tudo continua funcionando corretamente.

Repita esses passos para cada nova funcionalidade ou alteração que você desejar fazer no código. O ciclo de TDD é composto por escrever um teste, executá-lo (esperando uma falha), implementar o código mínimo necessário para fazer o teste passar e, em seguida, refatorar o código.

Essa é apenas uma introdução básica ao TDD usando Ruby. À medida que você ganha mais experiência, pode explorar recursos adicionais, como testes mais complexos, testes de borda, testes de integração e ferramentas auxiliares para testes, como mocks e stubs.

comments powered by Disqus