Hi Enrique, using meta is actually an astute solution I hadn't thought of.
If you feel like writing a little doc entry about it, we could add it to the docs. Cheers > On 28 Jan 2014, at 00:17, Jorge Pombar <[email protected]> wrote: > > I had a similar use case and we did the following: > · Defined all the @Before/After annotations in a LifecycleSteps class > that extends org.jbehave.web.selenium.PerStoryWebDriverSteps > · These steps can take the Meta tags as input. Hence we define a meta > that looks like “@resetAcctPolsToDefaulsOnFailure true” for the scenarios in > which we wanted to reset > · Inside the method we check if this is defined and true and then do > the resetting > > Our code looks something like this > @AfterScenario(uponOutcome=Outcome.FAILURE) > public void > resetAcctPolsToDefaulsOnFailure(@Named("resetAcctPolsToDefaulsOnFailure")String > resetAcctPolsToDefaulsOnFailure) { > logger.debug("[resetAcctPolsToDefaulsOnFailure] Scenario failed inside"); > if(new Boolean(resetVipAcctPolsToDefaulsOnFailure)) { > logger.info("[resetVipAcctPolsToDefaulsOnFailure] Reseting VIP > Account tab policies back to default"); > //resetting code here > } > else > logger.debug("[resetAcctPolsToDefaulsOnFailure] MetaTag > resetVipAcctPolsToDefaulsOnFailure [{}] NOT RESETING VIP Account tab policies > back to default", resetVipAcctPolsToDefaulsOnFailure); > } > > Thanks, > Enrique > > From: Mauro Talevi [mailto:[email protected]] > Sent: Monday, January 27, 2014 12:35 PM > To: [email protected] > Subject: Re: [jbehave-user] Reset State in Parameterized Scenario > > Hi, > > the @Before/After annotations are not able to take any runtime parameters. > > If you want to reset after a single parametrised scenario then you can simply > define a reset step and make it part of the scenario. > > Cheers > > On 27/01/2014 15:26, Corbin, J.D. wrote: > Hi Mauro, > > Thanks for that suggestion. It happens to work in my case since I only have > one parameterized scenario, but what if I had two and only wanted the reset > behavior for a single parameterized scenario. Is that possible? I would > think the scenario would have to be named in some way. > > J.D. > > > On Sat, Jan 25, 2014 at 2:21 AM, Mauro Talevi <[email protected]> > wrote: > Use annotation specifying the scenario type > > @BeforeScenario(uponType=ScenarioType.EXAMPLE) > > Cheers > > > On 24/01/2014 23:14, Corbin, J.D. wrote: > We are using the tabular scenario format to run multiple sets of data through > a single jbehave scenario using the Examples: tabular format. > > We are using a custom scenario scope that has our global scenario state. > Using this approach, we get a new instance of our global state object at the > beginning of each scenario which is what we want. > > The problem is that there is some state we'd like to reset in between the > tabular runs for the scenario but I don't see where to inject some behavior > into JBehave. JBehave doesn't treat each run as a new scenario, just runs > the new set of parameterized data through the same scenario instance, so we > cannot figure out where to reset the state in between the runs. We have > gotten around this by resetting the state in one of the steps of the scenario > but this is not ideal because its possible that this step is used in other > scenarios and we don't necessary want this state reset in those cases. > > Is there such a thing as tabular scope or some place we can introduce some > behavior in between parameterized runs of a single scenario? > > J.D. > > > > > --------------------------------------------------------------------- > To unsubscribe from this list, please visit: > > http://xircles.codehaus.org/manage_email > > > >
