demoiselle/behave

Como eu configuro setUp() tearDown() por caso de teste?

Viveiros opened this issue · 5 comments

Como eu configuro setUp() tearDown() por caso de teste?
O problema é que preciso fazer logout da aplicação assim que ocorre um erro qualquer no caso de teste. Como eu configuro o tearDown() "um passo de logout" que será executado assim que algum passo falhar?

Olá @Viveiros, as anotações @BeforeClass e @AfterClass podem ser úteis nesse caso, você já tentou usar elas?

outra abordagem para o seu caso específico seria criar um passo personalizado que ao iniciar um um caso de teste verifica se esta logado, e se não estiver ele faz o login e utilizar antes do caso de teste OU coloca no @BeforeClass.

Julian,
Fiz o testes com:
//execute before class
@BeforeClass
public static void beforeClass() {
System.out.println("in before class");
}

   //execute after class
   @AfterClass
   public static void  afterClass() {
      System.out.println("in after class");
   }

   //execute before test
   @Before
   public void before() {
      System.out.println("in before");
   }
	
   //execute after test
   @After
   public void after() {
      System.out.println("in after");
   }

porém é executado fora do contexto de execução do Behave


T E S T S

Running br.gov.esocial.bdd.tests.ESocialTest
in before class
in before
17:33:42,267 INFO (main) [BehaveContext]: --------------------------------
17:33:42,268 INFO (main) [BehaveContext]: Demoiselle Behave Iniciado
17:33:42,268 INFO (main) [BehaveContext]: Demoiselle Behave 1.5.1 em: 12/08/2015 10:15
17:33:42,268 INFO (main) [BehaveContext]: --------------------------------
17:33:42,958 INFO (main) [JBehaveParser]: Configurando Parser JBehave...
17:33:42,986 INFO (main) [JBehaveParser]: Iniciando Parser JBehave...
17:33:42,990 INFO (main) [JBehaveParser]: Executando história: [[stories/povoador/Copy of povoamento.storyConverted]]


Generating reports view to '/home/02731087609/workspace/esocial-testes-automatizados/target/jbehave' using formats '[defaultstoryreport, console, html, stats]' and view properties '{navigator=ftl/jbehave-navigator.ftl, views=ftl/jbehave-views.ftl, reports=ftl/jbehave-reports.ftl, nonDecorated=ftl/jbehave-report-non-decorated.ftl, decorated=ftl/jbehave-report-decorated.ftl, maps=ftl/jbehave-maps.ftl}'
Reports view generated with 2 stories (of which 0 pending) containing 2 scenarios (of which 0 pending)
Failures in reports view: 1 scenarios failed
17:38:11,193 INFO (main) [JBehaveParser]: Finalizando Parser JBehave...
17:38:11,193 INFO (main) [BehaveContext]: --------------------------------
17:38:11,193 INFO (main) [BehaveContext]: Demoiselle Behave Finalizado
17:38:11,193 INFO (main) [BehaveContext]: --------------------------------
in after
in after class

Na classe responsável pela configuração da pasta onde estão localizadas as histórias de usuários adicionados ao projeto(Steps.Java) no @before criamos uma história que vai da tela de boas vindas até o OK do captcha e é usado antes da execução de todas as histórias.

Além disso usamos:
@BeforeScenario >> usado para carregarDataset
@BeforeStories >> usado para popular banco de dados com dados de domínio.

Acredito que este ponto esteja concluído, caso necessite pode reabrir a issue.