Please add a page to:
https://github.com/jbehave/jbehave-core/tree/master/distribution/src/site/content
and update sitemap.xml.
Cheers
On 23/10/2013 20:27, Paul Barton wrote:
Thanks for your feedback Mauro,
Should I create a jbehave-docs repository in github consisting only of
.md files (similar to selenium-docs
<https://github.com/SeleniumHQ/selenium-docs> structure) or is there a
location for docs as used by the web page (http://jbehave.org/) to fork?
Cheers,
:P
On Wed, Oct 23, 2013 at 1:32 PM, Mauro Talevi
<[email protected] <mailto:[email protected]>> wrote:
Hi Paul,
thanks for sharing your thoughts. Overall, I would tend to agree
with what you're saying.
By experience, GivenStories tend to be more used and more readable
as preconditions.
Composite steps are more about providing a "zoom out" effect once
the composite steps have been defined, as you rightfully point out
not just as a Given.
Feel free to provide a patch with a doc page with these best
practices.
Cheers
On 23/10/2013 12:05, Paul Barton wrote:
Hello All,
I am just curious on how the jBehave community decides when
and where to use GivenStories and Composite Steps, in order to
set a best practice for my team...
At least there seems to be some confusion in my team about
where and when to use either GivenStories or a composite steps
(@Composite annotation) (ie. some think its good to only use
only GivenStories and others only want to group every test
case into a composite step)
My personal belief is that Composite Steps are there solely to
provide a declarative semantics, over that of imperative
semantics of a block of steps...
And that GivenStories are there to allow a Software Engineer
in Test to reuse isolated story files as preconditions in
their stories...
And that both should be used given some best practices...
Hence a best practice I was thinking would be the following:
- CompositeSteps should only be used when attempting to
provide a declarative step for the dsl layer, only after all
imperative steps have been written for the corresponding page
object
- Do not create composite steps for items that will not
benefit the readability of the step (too many parameters can
hurt the readability of a step, use GivenStories here)
- Do not create composite steps for every one off test case,
only create when you have a high impact for re-usability
- Do not restrict the use of CompositeSteps to a precondition
(@Given), as it can be used to group actions (@When) or
post-conditions (@Then) as well
- Stories called by GivenStories should be isolated (otherwise
you may end up having to manage the dependencies, ie story C
uses story B uses story A uses etc...)
- GivenStories should be used when there is a complex set of
preconditions for a story
Are my thoughts wrong or do you have some best practices to
add or share regarding when to use these features?
Cheers,
:Paul
---------------------------------------------------------------------
To unsubscribe from this list, please visit:
http://xircles.codehaus.org/manage_email