Currently I'm half way there. On the storyPaths() method instead of using the
out of the box find paths:
return new
StoryFinder().findPaths(codeLocationFromClass(this.getClass()).getFile(),
asList("**/" + System.getProperty("storyFilter", "*") + ".story"), null);
I have a separate file that lists all the story files:
Story1.story
#Story2.story
Story3.story
Then I have a small parser that parses this file skipping any lines commented
out (my choice was #) and returns me the List I can feed into findPaths method.
My return statement now looks like
return new
StoryFinder().findPaths(codeLocationFromClass(this.getClass()).getFile(),
myStoryList, null);
where myStoryList was the list I populated with my parser
So now I don't run Story2.story (in this case) by itself. However, all the
cases inside Story2.story still run when I run Story3.story (which is using
GivenStories: Story2.story)
My question now is:
How can I set meta properties at the scenario level? Do you have sample code
How can I pass this to the GivenStories? Do you have sample code?
Thanks,
Enrique
From: Mauro Talevi [mailto:[email protected]]
Sent: Tuesday, May 08, 2012 3:07 AM
To: [email protected]
Subject: Re: [jbehave-user] Using GivenStories can I turn off execution of
GivenStories ran using a Meta tag?
Hi,
no, this behaviour is not currently available. GivenStories are recursively
run.
What you could do is set meta properties at a scenario level which are passed
to the given stories and then in your implementation take notice of these
properties to run or not the relevant steps.
Otherwise, structure your given dependency tree in such a way as to avoid
duplication.
Feel free to suggest a way to configure this behaviour you're after.
Cheers
On 08/05/2012 04:59, Jorge Pombar wrote:
I have all the stories of my project in a single folder "src/main/stories"
I'm building my test cases/stories in small blocks. So I test Story1 and then I
test Story2 but it depends on Story1 to have been completed. So I'm using
GivenStories:
- Story1.story
- Story2.story (uses GivenStories: Story1.story)
- Story3.story (uses GivenStories: Story2.story)
I'm wondering if there is a way to add a meta tag on Story1 and Story2 that
tells the framework not to run them because they will be run as part of
Story3.story
Thanks for your help,
Enrique