Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Criada a palavra chave Subcenário. #346

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open

Criada a palavra chave Subcenário. #346

wants to merge 2 commits into from

Conversation

ttperes
Copy link
Contributor

@ttperes ttperes commented May 27, 2015

Quando se deseja que um cenário seja reutilizável, mas ele não tem
necessidade de receber parâmetros, você é forçado a criar um parâmetro
"fake". Com a declaração de Subcenário, agora é possível criar cenários
reutilizáveis sem a necessidade de um parâmetro falso.

Exemplo:
Subcenário: teste de cenário reutilizável sem parâmetros

Quando se deseja que um cenário seja reutilizável, mas ele não tem
necessidade de receber parâmetros, você é forçado a criar um parâmetro
"fake". Com a declaração de Subcenário, agora é possível criar cenários
reutilizáveis sem a necessidade de um parâmetro falso.

Exemplo:
Subcenário: teste de cenário reutilizável sem parâmetros
@rogernobre
Copy link
Contributor

@ttperes, com o método "addStoriesReuse", você consegue reutilizar qualquer cenário, basta utilizar o título do cenário como passo do outro cenário que está utilizando ou não, independente de possuir parâmetro.

@rogernobre
Copy link
Contributor

@ttperes, vou fazer um pull request no exemplo do google, para mostrar o exemplo que lhe falei:
#347

@ttperes
Copy link
Contributor Author

ttperes commented May 27, 2015

Mas aí eu não posso ter a flexibilidade de ter um cenário de reuso sem parâmetro organizado num mesmo .story. A ideia é dar flexibilidade e facilitar a organização para leitura das histórias.

@arildojg
Copy link
Contributor

Em relação a permitir reusar um cenário que não tem parâmetros, isso realmente já é possível incluindo a história no qual ele está com o método "addStoriesReuse". Temos reusado cenários assim diversas vezes.
A palavra-chave seria uma nova opção para fazer isso.

Porém, pode ser útil para ajudar a classificar os cenários e posteriormente contabilizar quantos são executados diretamente, e quantos são apenas para reúso.

@rogernobre
Copy link
Contributor

@ttperes, ai o problema é outro, seria reutilizar cenários que não serão executados, e sim reutilizados, que não possuem parâmetro e estão no mesmo arquivo .story de uma historia que será executada.

Acho que o filtro atual resolve, mas nada contra criar uma nova palavra-chave.

@ttperes
Copy link
Contributor Author

ttperes commented May 27, 2015

O filtro atual não resolve. Você tem que passar um parâmetro fake para ele não executar direto.

@rogernobre
Copy link
Contributor

@ttperes, com uso do setStoryOrScenarioFilter não resolveria não?

@rogernobre
Copy link
Contributor

Funciona não, se estiver no mesmo arquivo ele tira do arquivo convertido.

@rogernobre
Copy link
Contributor

Só funcionaria se o filtro fosse realizado depois do reuso.

@fgsl
Copy link

fgsl commented Jul 26, 2016

@ttperes , você poderia ilustrar a aplicação inserindo aqui snippets comparando uma estória implementada da forma como o Dbehave permite hoje e sua alternatica com sua alteração de subcenário, para que fique mais clara a vantagem?

@malaguti
Copy link

@ttperes, é por isso que eu não misturo cenários de reuso junto com cenários de execução. Eu sempre tenho arquivos reuse.story, aonde eu escrevo todos os cenários que eu pretendo usar, e arquivos control.story, que é o ponto inicial de execução dos meus testes, e é aonde eu chamo todos os cenários de reuso. Sempre que eu decido reutilizar um cenário que está dentro do control.story, eu passo ele pro reuse.story, e passo a chamá-lo do control.story. isso tem dado muito certo, porque tem me economizado muitas linhas de código, e muitas manutenções.

@juliancesar juliancesar modified the milestones: 1.6.2, Releases Futuras Oct 9, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants