How to use before_stage_was_executed method of com.tngtech.jgiven.impl.ScenarioExecutorTest class

Best JGiven code snippet using com.tngtech.jgiven.impl.ScenarioExecutorTest.before_stage_was_executed

Source:ScenarioExecutorTest.java Github

copy

Full Screen

...16 public void methods_annotated_with_BeforeStage_are_executed_before_the_first_step_is_executed() {17 ScenarioExecutor executor = new ScenarioExecutor();18 BeforeStageStep steps = executor.addStage( BeforeStageStep.class );19 executor.startScenario( "Test" );20 steps.before_stage_was_executed();21 }22 @Test23 public void methods_annotated_with_AfterStage_are_executed_before_the_first_step_of_the_next_stage_is_executed() {24 ScenarioExecutor executor = new ScenarioExecutor();25 AfterStageStep steps = executor.addStage( AfterStageStep.class );26 NextSteps nextSteps = executor.addStage( NextSteps.class );27 executor.startScenario( "Test" );28 steps.after_stage_was_not_yet_executed();29 nextSteps.after_stage_was_executed();30 }31 @Test32 public void scenario_with_dry_run_enabled_does_not_execute_steps() throws Exception {33 System.setProperty( "jgiven.report.dry-run", "true" );34 ScenarioExecutor executor = new ScenarioExecutor();35 ExceptionTestStep steps = executor.addStage( ExceptionTestStep.class );36 executor.startScenario( ExceptionTestStep.class, ExceptionTestStep.class.getMethod( "something_throws_exception" ),37 Collections.emptyList() );38 steps.something_throws_exception();39 assertThat( executor.hasFailed() ).isFalse();40 }41 @Test42 public void scenario_with_dry_run_disable_fails() throws Exception {43 System.setProperty( "jgiven.report.dry-run", "false" );44 ScenarioExecutor executor = new ScenarioExecutor();45 ExceptionTestStep steps = executor.addStage( ExceptionTestStep.class );46 executor.startScenario( ExceptionTestStep.class, ExceptionTestStep.class.getMethod( "something_throws_exception" ),47 Collections.emptyList() );48 steps.something_throws_exception();49 assertThat( executor.hasFailed() ).isTrue();50 }51 @Test52 public void methods_annotated_with_Pending_are_not_really_executed() {53 ScenarioExecutor executor = new ScenarioExecutor();54 PendingTestStep steps = executor.addStage( PendingTestStep.class );55 executor.startScenario( "Test" );56 steps.something_pending();57 assertThat( executor.hasFailed() ).isFalse();58 }59 @Test60 public void methods_annotated_with_Pending_must_follow_fluent_interface_convention_or_return_null() {61 ScenarioExecutor executor = new ScenarioExecutor();62 PendingTestStep steps = executor.addStage( PendingTestStep.class );63 executor.startScenario( "Test" );64 assertThat( steps.something_pending_with_wrong_signature() ).isNull();65 }66 @Test67 public void stepclasses_annotated_with_Pending_are_not_really_executed() {68 ScenarioExecutor executor = new ScenarioExecutor();69 PendingTestStepClass steps = executor.addStage( PendingTestStepClass.class );70 executor.startScenario( "Test" );71 steps.something_pending();72 assertThat( executor.hasFailed() ).isFalse();73 }74 @Test75 public void steps_are_injected() {76 ScenarioExecutor executor = new ScenarioExecutor();77 TestClass testClass = new TestClass();78 executor.injectStages( testClass );79 assertThat( testClass.step ).isNotNull();80 assertThat( testClass.step.subStep ).isNotNull();81 }82 @Test83 public void recursive_steps_are_injected_correctly() {84 ScenarioExecutor executor = new ScenarioExecutor();85 RecursiveTestClass testClass = new RecursiveTestClass();86 executor.injectStages( testClass );87 assertThat( testClass.step ).isNotNull();88 assertThat( testClass.step.step ).isSameAs( testClass.step );89 }90 @Test91 public void BeforeStage_methods_may_not_have_parameters() {92 expectedExceptionRule.expect( JGivenExecutionException.class );93 expectedExceptionRule.expectMessage( "Could not execute method 'setup' of class 'BeforeStageWithParameters'" );94 expectedExceptionRule.expectMessage( ", because it requires parameters" );95 ScenarioExecutor executor = new ScenarioExecutor();96 BeforeStageWithParameters stage = executor.addStage( BeforeStageWithParameters.class );97 executor.startScenario( "Test" );98 stage.something();99 }100 @Test101 public void DoNotIntercept_methods_are_executed_even_if_previous_steps_fail() {102 ScenarioExecutor executor = new ScenarioExecutor();103 DoNotInterceptClass stage = executor.addStage( DoNotInterceptClass.class );104 executor.startScenario( "Test" );105 stage.a_failing_step();106 int i = stage.returnFive();107 assertThat( i ).isEqualTo( 5 );108 }109 @Test110 public void DoNotIntercept_methods_do_not_trigger_a_stage_change() {111 ScenarioExecutor executor = new ScenarioExecutor();112 AfterStageStep withAfterStage = executor.addStage( AfterStageStep.class );113 withAfterStage.after_stage_was_not_yet_executed();114 DoNotInterceptClass doNotIntercept = executor.addStage( DoNotInterceptClass.class );115 executor.startScenario( "Test" );116 doNotIntercept.an_unintercepted_step();117 assertThat( withAfterStage.afterStageExecuted ).as( "@AfterStage was executed" ).isFalse();118 doNotIntercept.an_intercepted_step();119 assertThat( withAfterStage.afterStageExecuted ).as( "@AfterStage was executed" ).isTrue();120 }121 static class TestClass {122 @ScenarioStage123 TestStep step;124 }125 static class TestStep {126 @ScenarioStage127 TestSubStep subStep;128 }129 static class TestSubStep {130 }131 static class RecursiveTestClass {132 @ScenarioStage133 RecursiveTestStep step;134 }135 static class RecursiveTestStep {136 @ScenarioStage137 RecursiveTestStep step;138 }139 static class BeforeStageStep {140 boolean beforeStageExecuted;141 @BeforeStage142 protected void setup() {143 beforeStageExecuted = true;144 }145 public void before_stage_was_executed() {146 assertThat( beforeStageExecuted ).isTrue();147 }148 }149 static class AfterStageStep {150 @ProvidedScenarioState151 boolean afterStageExecuted;152 @AfterStage153 protected void setup() {154 afterStageExecuted = true;155 }156 public void after_stage_was_not_yet_executed() {157 assertThat( afterStageExecuted ).isFalse();158 }159 }...

Full Screen

Full Screen

Automation Testing Tutorials

Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.

LambdaTest Learning Hubs:

YouTube

You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful