OK Thanks. The new examples make it much clearer.
On 20/09/2012 10:44, Mauro Talevi wrote:
Updated docs:
http://jbehave.org/reference/latest/prioritising-steps.html
On Thu Sep 20 09:15:14 2012, Mauro Talevi wrote:
Hi Simon,
you should not rely on the order in which the steps methods are
declared for the matching.
The method signatures are retrieved by the Class.getMethods() and the
JRE may return them in different order.
The easiest way is to avoid the issue is to ensure that the step
pattern match uniquely, but if that's not an option (sometimes it
isn't if you want effective communication of behaviour) then you need
to prioritise them:
http://jbehave.org/reference/stable/prioritising-steps.html
With the default strategy you can add a positive priority to the step
that you want matched first:
@Then(value="the base currency reported by the configuration service
is empty", priority=1)
@Then("the base currency reported by the configuration service is
$currency")
Another strategy is based on the
http://en.wikipedia.org/wiki/Levenshtein_distance.
Else, you can provide your own prioritisation strategy.
Cheers
On Wed Sep 19 10:35:45 2012, Simon Kent wrote:
We have just found a small issue when moving up to Java 7 from Java 6.
We are using JBehave 3.6.2.
Consider the 2 steps below:
@Then("the base currency reported by the configuration service*is
empty*")
public void theBaseCurrencyIsEmpty() {
and
@Then("the base currency reported by the configuration service*is
$currency*")
public void theBaseCurrencyIs(final String currency) {
and the line to be interpreted "the base currency reported by the
configuration service is empty"
Under Java 6, this would always result in the 1st method being
executed which is what we would expect. Under Java 7, the 2nd method
is executed. Would have thought it should look for the specific
literal text before attempting to match with parameterisation?
Regards
Simon Kent
--
Simon Kent
QA Engineer
Gresham Computing PLC
e:[email protected]
------------------------------------------------------------------------
Privileged or confidential information may be contained in this
message. If you are not the addressee of this message please notify
the sender by return and thereafter delete the message, and you may
not use, copy, disclose or rely on the information contained in it.
Internet e-mail may be susceptible to data corruption, interception
and unauthorised amendment for which Gresham does not accept
liability. Whilst we have taken reasonable precautions to ensure that
this e-mail and any attachments have been swept for viruses, Gresham
does not accept liability for any damage sustained as a result of
viruses. Statements in this message that do not relate to the business
of Gresham are neither given nor endorsed by the company or its
directors. Gresham Computing plc Registered in England and Wales.
Company No. 01072032 Registered Office: Sopwith House, Brook Avenue,
Warsash, Southampton. Hants. SO31 9ZA Further information about
Gresham Computing can be found on our website:
www.gresham-computing.com
---------------------------------------------------------------------
To unsubscribe from this list, please visit:
http://xircles.codehaus.org/manage_email
---------------------------------------------------------------------
To unsubscribe from this list, please visit:
http://xircles.codehaus.org/manage_email
--
Simon Kent
QA Engineer
Gresham Computing PLC
e: [email protected]
Privileged or confidential information may be contained in this message. If you are not the addressee of this message please notify the sender by return and thereafter delete the message, and you may not use, copy, disclose or rely on the information contained in it. Internet e-mail may be susceptible to data corruption, interception and unauthorised amendment for which Gresham does not accept liability. Whilst we have taken reasonable precautions to ensure that this e-mail and any attachments have been swept for viruses, Gresham does not accept liability for any damage sustained as a result of viruses. Statements in this message that do not relate to the business of Gresham are neither given nor endorsed by the company or its directors. Gresham Computing plc Registered in England and Wales. Company No. 01072032 Registered Office: Sopwith House, Brook Avenue, Warsash, Southampton. Hants. SO31 9ZA Further information about Gresham Computing can be found on our website: www.gresham-computing.com