BT
x Por favor preencha a pesquisa do InfoQ !

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.

Avalie esse artigo

Relevância
Estilo/Redação

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
Feedback geral
Bugs
Publicidade
Editorial
Marketing
InfoQ Brasil e todo o seu conteúdo: todos os direitos reservados. © 2006-2016 C4Media Inc.
Política de privacidade
BT

Percebemos que você está utilizando um bloqueador de propagandas

Nós entendemos porquê utilizar um bloqueador de propagandas. No entanto, nós precisamos da sua ajuda para manter o InfoQ gratuito. O InfoQ não compartilhará seus dados com nenhum terceiro sem que você autorize. Procuramos trabalhar com anúncios de empresas e produtos que sejam relevantes para nossos leitores. Por favor, considere adicionar o InfoQ como uma exceção no seu bloqueador de propagandas.