Linguagem Gherkin: Sintaxe, Formato e Exemplos
⚡ Resumo Inteligente
Gherkin é uma linguagem legível para negócios que descreve o comportamento do software sem detalhar a implementação. Ela usa as palavras-chave Dado, Quando e Então para definir o comportamento. Cucumber Cenários de teste em linguagem simples, servindo como documentação viva e estrutura básica para testes BDD automatizados.

O que é a linguagem do pepino?
Pepino É uma linguagem legível para negócios que ajuda a descrever o comportamento de negócios sem entrar em detalhes de implementação. É uma linguagem específica de domínio para definir testes em Cucumber O formato utiliza linguagem simples para descrever casos de uso e permite que os usuários removam detalhes lógicos dos testes comportamentais.
O texto em Gherkin serve como documentação e como esqueleto dos seus testes automatizados. O formato Gherkin é baseado na gramática TreeTop, que existe em mais de 37 idiomas, permitindo escrever Gherkin em mais de 37 línguas faladas. O script tem dois propósitos principais: documentar cenários de usuário e fornecer a base para a escrita de testes BDD automatizados.
Por que pepino?
Sem um formato compartilhado e em linguagem simples, as equipes de negócios e técnicas descrevem os requisitos de maneiras diferentes, o que causa mal-entendidos. O Gherkin oferece a todos um vocabulário único e estruturado que se lê como inglês comum, mas que se relaciona diretamente a testes executáveis.
Sintaxe de pepino
Gherkin é uma linguagem orientada a linhas, assim como YAML e PythonCada linha é chamada de etapa e começa com uma palavra-chave. Tabulações ou espaços são usados para indentação. Um comentário pode ser adicionado em qualquer lugar, mas deve começar com um sinal de #. O interpretador lê cada linha após remover palavras-chave do Gherkin, como Given, When e Then.
Feature: Title of the Scenario Given [Preconditions or Initial Context] When [Event or Trigger] Then [Expected output]
Um documento Gherkin tem a extensão .feature e é simplesmente um arquivo de teste com uma extensão descritiva. Cucumber Lê o documento Gherkin e executa um teste para validar se o software se comporta conforme descrito pela sintaxe Gherkin.
Termos importantes usados em pepino
As principais palavras-chave são: Característica, Contexto, Cenário, Dado, Quando, Então, E, Mas e Descrição do Cenário. Cucumber Não possui regras rígidas para nomenclatura, mas uma convenção de nomenclatura clara ajuda.
Característica
O arquivo deve ter a extensão .feature e cada arquivo de recurso deve descrever apenas um recurso. A palavra-chave Feature começa com Característica: seguido de um espaço e o nome da funcionalidade.
Cenário
Cada arquivo de recurso pode conter vários cenários, e cada cenário começa com Cenário: seguido do nome do cenário.
Contexto
A palavra-chave Background adiciona contexto ao cenário. Ela pode conter etapas comuns a todos os cenários; a diferença é que essas etapas são executadas antes de cada cenário.
Dado
A palavra-chave Given coloca o sistema em um estado conhecido antes que o usuário comece a interagir com ele. Ela define a pré-condição ou o contexto:
Given I am on "/."
Ao
A palavra-chave "When" define a ação realizada pelo usuário:
When I perform "Sign In."
Então
A palavra-chave "Então" define o resultado observado após a ação na etapa "Quando". Você deve verificar apenas as mudanças perceptíveis.
Then I should see "Welcome Tom."
E mas
Você pode ter várias etapas com "Dado", "Quando" ou "Então". As palavras-chave "E" e "Mas" adicionam etapas extras para facilitar a leitura:
And I enter "EmailAddress" with "tomjohn@gmail.com." But I should see "Welcome Tom."
Dado que, quando, então, e e mas são todos passos de teste. O interpretador não gera um erro se você os trocar, mas o cenário não ficará coerente, então use cada palavra-chave para sua finalidade específica.
Exemplos de pepino
1 exemplo: Uma funcionalidade de login para um site de rede social.
Feature: Login functionality of a social networking site Given I am a registered user When I enter my username And I enter my password Then I should be redirected to the home page
O Gherkin analisa cada etapa escrita no arquivo de funcionalidades, e as etapas no arquivo de funcionalidades devem corresponder às etapas no arquivo de definição de etapas.
2 exemplo: Um cenário de autenticação de usuário com um plano de fundo.
Feature: User Authentication Background: Given the user is already registered on the website Scenario: Successful login Given the user is on the login page When the user inputs the correct email address And the user inputs the correct password And the user clicks the Login button Then the user should be authenticated And the user should be redirected to their dashboard
Melhores Práticas de Utilização do Pepino
- Cada cenário deve ser executado separadamente e de forma independente.
- Cada funcionalidade deve ser executável por si só.
- As informações sobre cada etapa devem ser exibidas separadamente.
- Conecte seus cenários com seus requisitos e track quais cenários pertencem a cada requisito.
- Crie etapas modulares e fáceis de entender e combine cenários comuns.
- Descreva o que o sistema faz, não como ele faz.
Vantagens do pepino
- O Gherkin é simples o suficiente para que pessoas sem conhecimento de programação o entendam.
- Os programadores podem usá-lo como uma base sólida para iniciar seus testes.
- Isso facilita a compreensão das histórias de usuário e atende aos requisitos de negócios.
- Executivos de negócios e desenvolvedores podem ler o mesmo roteiro.
- Os casos de teste Gherkin vinculam os testes de aceitação diretamente aos testes automatizados.
- O estilo de escrita facilita a reutilização do código em diferentes testes.
Desvantagens do pepino
- Isso exige um alto nível de envolvimento e colaboração empresarial.
- Pode não funcionar bem em todos os cenários.
- Testes mal elaborados podem aumentar o custo de manutenção dos testes.
