FrameworkDemoiselle.gov.brCommunity Documentation

Capítulo 8. Configurações dos Testes

8.1. Configuração de Passos (Steps)
8.2. Configuração de Histórias e Cenários

Configuração de um pacote para carga das subclasses de Step, incluindo um filtro das classes que devem ser excluídas desta varredura; Quando um contexto for inicializado, não será mais necessário instanciar cada uma das subclasses de Step a serem utilizadas:

context = BehaveContext.getInstance();
context.addSteps(new PrimeiraSteps());
context.addSteps(new SegundaSteps());
context.addSteps(new TerceiraSteps());
context.addSteps(new QuartaSteps());

Bastando para tanto:

context.setStepsPackage("pacote.onde.estao.as.subclasses.da.inferface.step");

Ainda é possível utilizar um segundo parâmetro para filtrar as classes que não devem ser instanciadas, através de uma expressão regular:

context.setStepsPackage("pacote.onde.estao.as.subclasses.da.inferface.step", "((Primeira)|(Terceira))");

Ou, ainda, através da listagem das mesmas:

context.setStepsPackage("pacote.onde.estao.as.subclasses.da.inferface.step", PrimeiraSteps.class, TerceiraSteps.class);

Filtro de histórias/cenários a serem executados, permitindo que um desenvolvedor foque em apenas uma estória ou cenário; Dadas as histórias:

!-- /stories/primeira.story
Funcionalidade: Primeira

Cenário: Primeiro da primeira
Dado que contexto
Quando evento
Então resultado

Cenário: Segunda da primeira
Dado que contexto
Quando evento
Então resultado

!-- /stories/segunda.story
Funcionalidade: Segunda

Cenário: Primeiro da segunda
Dado que contexto
Quando evento
Então resultado

Cenário: Segundo da segunda
Dado que contexto
Quando evento
Então resultado

Quando da execução das histórias/cenários:

context.run("/stories");

Agora é possível, filtrar quais histórias:

context.run("/stories", Filter.story("Primeira"));

Ou, quais cenários:

context.run("/stories", Filter.scenario("Segundo da segunda"));

Sendo que o último, pode ser informado usando apenas a expressão regular:

context.run("/stories", "Segundo da segunda");