BT

Receitas de Desenvolvimento Orientado a Estórias com Cucumber

por Sebastien Auvray , traduzido por Felipe Rodrigues em 09 Mar 2009 |

A popularidade do Behavior Driven Development (BDD) não pode ser negada. É uma resposta ao Test Driven Development (TDD) e foi introduzido por Dan North em 2003. BDD encoraja a colaboração entre as várias partes envolvidas em um projeto de software: desenvolvedores, QA e analistas não técnicos ou de negócio.

A fácil criação e uso de DSLs em Ruby permitiu o nacimento do muitos frameworks BDD, tais como RSpec. O Cucumber, escrito por Aslak Hellesøy é um outro exemplo, que pode também ser usado para testar código Java, .NET e Flex. Ele pode ser executar documentos de texto puro como testes funcionais automatizados.

Aqui está um típico cenário de exemplo (do Wiki do projeto):

Feature: Search courses
  In order to ensure better utilization of courses
  Potential students should be able to search for courses

  Scenario: Search by topic
    Given there are 240 courses where neither has the topic "biology"
    And there are 3 courses A,B,C that each have "biology" as one of the topics
    When I search for "biology"
    Then I should see a the following courses:
      | title |
      | A     |
      | B     |
      | C     |

Então você pode implementar código que esta receita descreve e iterar como falhas do teste até obter sucesso. O Cucumber suporta o destaque de partes que falhas ou de sucesso do cenário (Imagem do website do Cucumber):

Tests failure

O formato usado para escrever receitas Cucumber é a linguagem Gherkin, que pode ser adaptada a diferentes lingauges naturais, como por exemplo, palavras chave como "Given", "And", etc podem também ser escritas em linguagens como Francês, Português, Alemão, etc. O texto da linguagem natural à direita das palavras chaves é interpretado por uma definição programática, por exemplo, executa código para realizar este passo.

Há muitos usos diferentes para o Cucumber tais como testes de integração de aplicações Web para sysadmins ou para integrar sistemas distribuídos e testar messageria ou testes de escrita de PDF.

A versão 0.1.16 do Cucumber está disponível como um Ruby Gem e a 0.1.99.10 está disponível no GitHub.

Olá visitante

Você precisa cadastrar-se no InfoQ Brasil ou para enviar comentários. Há muitas vantagens em se cadastrar.

Obtenha o máximo da experiência do InfoQ Brasil.

Dê sua opinião

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão
Comentários da comunidade

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão

Dê sua opinião

Conteúdo educacional

Feedback geral
Bugs
Publicidade
Editorial
InfoQ Brasil e todo o seu conteúdo: todos os direitos reservados. © 2006-2014 C4Media Inc.
Política de privacidade
BT