demoiselle / behave

Demoiselle Behave
https://www.frameworkdemoiselle.gov.br/dbehave/
29 stars 53 forks source link

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

Closed Viveiros closed 7 years ago

Viveiros commented 7 years ago

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?

juliancesar commented 7 years ago

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

juliancesar commented 7 years ago

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.

Viveiros commented 7 years ago

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

cesarfex commented 7 years ago

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.

juliancesar commented 7 years ago

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