Jonathan Gray | 23 Jun 00:56 2014

Specifying report path in multi-module project


I have a multi-module project which looks something 
like the following (it happens to be Maven based).

- pom.xml
- app
+- pom.xml
- app-test
+- pom.xml

If I run "clean verify" against the project pom (it's not currently using
 inheritance from the parent) when it runs the maven plugin in the
 app-test project I can see the following

[INFO] Generating reports view to 'C:\project\target\jbehave' ...

I would expect it to be generating to C:\project\app-test\target\jbehave

Each of my Java tests are currently JUnitStory and running as embeddables.
The configuration is using LoadFromClasspath(...) which works fine.
The stories run correctly but if they've already failed then at times they 
won't succeed because the target (parent) hasn't been cleaned.

To unsubscribe from this list, please visit:

(Continue reading)

Brenner, Richard | 18 Jun 14:03 2014

jbehave-osgi p2 repository problem


I am trying to get jbehave osgi to run, ultimately to use swtbot tests within BDD tests.
I did the following (Windows 7, maven 3.2.1, Jdk 7):
git checkout jbehave-4.x
mvn clean install -s settings.xml
git clone
mvn clean install -P bundles -s settings.xml
mvn clean verify -P distribution-equinox -s settings.xml
The build says success but there is no p2 repository generated in the target as described here:
"...This will create the p2 repository using the Luna repository inside the the folder /org.jbehave.osgi.equinox.p2/target/repository."
The same happens when I do the same steps in Ubuntu Linux.
Any help would be appreciated.
Hans Schwäbli | 18 Jun 08:55 2014

Re: Filtering works not as expected with a scenario containing an examples table

When will there be a beta-8 version of the 4.x branch containing this fix?
I am asking because the examples for the JBehave article will need that, and the magazine is published on 2nd of July.

On Wed, May 21, 2014 at 8:50 AM, Mauro Talevi <mauro.talevi-hQ+s5KbX5Ykpi3HaZ6Sa4g@public.gmane.orgg> wrote:
Sold! To the German-speaking gentleman at the back of the room :-)

On 20/05/2014 21:00, Mirko Friedenhagen wrote:

I stand corrected, in this case JEDES is a better translation for ANY.
Regards Mirko
-- (

On Tue, May 20, 2014 at 10:14 AM, Hans Schwäbli
<> wrote:
Mirko, I suppose you are a native German speaker like me, right?

What is your message? That the current German translations for ANY and
FAILURE are the best?

Lets put it in the context:

* Ergebnis: BELIEBIGES
* Ergebnis: JEDES

Did you try that feature? You should really try and see how it behaves I

To me "Ergebnis: IRGENDWELCHE" it sounds unnatural. One can understand with
a bit thought what that might mean. But it seems not so intuitive like the
English word ANY.

"Ergebnis: JEDES" seems to express the correct meaning and is easy to
understand. Because whatever the result is, the steps in that block will be
added before or after the scenario. In German: In *jedem* Fall werden
Schritte vor oder nach dem Szenario hinzugefügt.

Or concerning BELIEBIGES: Bei einem *beliebigen* Testergebnis werden
Schritte vor oder nach dem Szenario hinzugefügt. Sound natural and easy to
understand to me.

But IRGENDWELCHE? Bei *irgendwelchen* Testergebnissen werden Schritte vor
oder nach dem Szenario hinzugefügt? This sounds very strange to me.

Concerning ISTQB, this is the definition of a failure:
Deviation of the component or system from its expected delivery, service or

Failures is translated by ISTQB as "Fehlerwirkungen".

So it is not "Ausfall". You may say it is also not "Fehler". But
"Fehlerwirkung is an artificial word originating from ISTQB. Noone I ever
met (except ISTQB teachers) ever uses this word but instead says "Fehler".

By the way, defect is translated as Fehlerzustand by ISTQB. This is also an
artificial word which noone uses except ISTQB teachers. In Germany we call
them: Bugs or simply Fehler, or much more academically and very seldom:

Besides that, ISTQB, although helpful to some degree in its basic teachings,
I consider it to be non-agile in its full extent. I take only the good from

On Tue, May 20, 2014 at 8:42 AM, Mauro Talevi <>
So, what's the consensus then with the keywords?

On 16/05/2014 18:42, Mauro Talevi wrote:

I'll defer to whatever you guys decide is best.  We can always change it

On 15/05/2014 18:27, Mirko Friedenhagen wrote:


I am not sure I agree :-). JEDES would be EVERY IMO.

According to ISTQB FEHLER would be the DEFECT which causes a FAILURE
(FEHLSCHLAG), which may lead to an AUSFALL (BREAKDOWN) of a server ;-)

Am 15.05.2014 12:34 schrieb "Hans Schwäbli"
I re-tested it and now it works. Thank you!

However I did not use that feature in-depth so there might be some other

I wondered a bit about outcome ANY. It seems to be like the finally-block
in Java. The German translation IRGENDWELCHE is maybe not the best for ANY.
Ergebnis: "BELIEBIGES" or "JEDES" seems to be better to me.

And Ergebnis: "AUSFALL" seems not to be the best translation too. I think
better would be Ergebnis "FEHLER".

Maybe some other German speaking guys can share their opinions about a
translation for ANY and FAILURE?

On Thu, May 15, 2014 at 12:08 AM, Mauro Talevi
<> wrote:
There was an issue with parsing with non-EN locales.   Now fixed, try
again with latest head.

On 14/05/2014 17:35, Hans Schwäbli wrote:

I quickly tested the lifecycle.


Gegeben im Lager sind 100 T-Shirts
Ergebnis: ERFOLG
Gegeben im Lager sind 200 T-Shirts
Gegeben im Lager sind 300 T-Shirts
Ergebnis: AUSFALL
Gegeben im Lager sind 400 T-Shirts
Szenario: Versandkosten fallen weg
Wenn ein Kunde 20 T-Shirts bestellt
Dann betragen die Versandkosten 7,5 Euro
Result is:

Gegeben im Lager sind 100 T-Shirts
Gegeben im Lager sind 200 T-Shirts
Gegeben im Lager sind 300 T-Shirts
Gegeben im Lager sind 400 T-Shirts

Szenario: Versandkosten fallen weg
Gegeben im Lager sind 100 T-Shirts
Wenn ein Kunde 20 T-Shirts bestellt
Dann betragen die Versandkosten 7,5 Euro
Gegeben im Lager sind 200 T-Shirts
Gegeben im Lager sind 300 T-Shirts
Gegeben im Lager sind 400 T-Shirts

It does not work as I expect it since it executes all three after steps
although it should only execute the one for "Ergebnis: ERFOLG" (Outcome:

On Friday or next week I can test that a bit more thoroughly.

On Tue, May 13, 2014 at 8:00 PM, Mauro Talevi
<> wrote:
Cool, we'll push out new beta soon.

Can you also take the Lifecycle After upon outcome functionality for a
spin while you're at it?

On 13/05/2014 13:42, Hans Schwäbli wrote:

I mixed up snapshot versions with beta-versions, sorry.

I tried now the snapshot version and it works now as expected
concerning the problem with the examples table.

Thank you!

But there is a problem with comments. I will write a posting just on

On Thu, May 8, 2014 at 10:51 AM, Mauro Talevi
<> wrote:
No, a new beta has not been deployed yet.   In the meantime, you can
use the latest 3.9.x or build the 4.0 snapshot from source.

On 8 May 2014, at 08:59, Hans Schwäbli <>

Thank you! Is it also deployed?
I did not find it here:
The last snapshot there is from 2nd of May.
The same snapshot date is on:

On Wed, May 7, 2014 at 11:25 PM, Mauro Talevi
<> wrote:
This issue is now fixed in head of 4.x branch.   It did not apply to

On 07/05/2014 10:55, Hans Schwäbli wrote:

I created such an example for jbehave-core now and attached it to
this posting. I still cannot work on a clone the Github project because of
company restrictions (I haven't yet received an answer why it is not working
inside the company proxy).

In case the mailing list does not support attachments I have also
sent them directly to Mauro.

To reproduce it you will need this in the Maven pom.xml:


<metaFilter>+component order -skip</metaFilter>


On Wed, May 7, 2014 at 11:03 AM, Hans Schwäbli
<> wrote:
I committed it here:

I will add such a scenario to the core examples. Until then you
could use that other example if you like. It is the example for the article
on JBehave by the way.

On Tue, May 6, 2014 at 3:04 PM, Mauro Talevi
<> wrote:
Yes, it looks likely to be unrelated to given stories and such.

Could you please add a scenario reproducing the behaviour to the
meta_filtering.story in the core examples (preferably in English)?

Does it work with 3.x?

On 06/05/2014 11:34, Hans Schwäbli wrote:

I already use StoryControls.doIgnoreMetaFiltersIfGivenStory(true).
And I removed the given story in the story.

But the result is the same.

Maybe tomorrow I can commit the whole project, so that you can
reproduce it.

On Tue, May 6, 2014 at 11:00 AM, Stephen de Vries
<stephendv <at>> wrote:

On 6 May 2014, at 10:51, Hans Schwäbli
<> wrote:

I have the example story, see below. It runs not as expected when
filtering by: +Komponente Bestellung -Skip


My guess is that the given story doesn’t have the same meta-tags.
Fix is to set: StoryControls.doIgnoreMetaFiltersIfGivenStory(true)


To unsubscribe from this list, please visit:

To unsubscribe from this list, please visit:

To unsubscribe from this list, please visit:

Brent Barker | 18 Jun 00:28 2014

Excluding "-" in meta filters

I have a meta filter on a story similar to this:

<at> bug JBEHAVE-281

The issue is when I try to filter on that, using 

"-bug JBEHAVE-281" 

it does not match, but only matches to similar items when I do 

"-bug JBEHAVE*"

Is there a way to escape the dash in the meta filter so I can filter for that specific bug?

Brent Barker | 17 Jun 20:51 2014

Story Maping

I am trying to use the Maven plugin for StoryMapping found here:

However, it appears that the <include> tag only looks in src/main/java/

This is the exact maven tag I'm using:

Our stories are located in src/test/resources/stories. I moved a story to the src/main/java and it was able to locate it.

Is there a way to change the path to find where the files are located at a higher level?

Hans Schwäbli | 16 Jun 11:53 2014

Fwd: ContextView still works in 4.0-beta-7?

By the way: You can reproduce it with the same example which I mentioned in another issue:

---------- Forwarded message ----------
From: Hans Schwäbli <>
Date: Mon, Jun 16, 2014 at 8:56 AM
Subject: ContextView still works in 4.0-beta-7?
To: user-b1QraVsTlj/

I changed a project from JBehave 3.9.2 to 4.0-beta-7.
This made the context view disappear. I use the same code for applying the context view like I see in the JBehave examples today (org.jbehave.examples.core.CoreStories).
Does the ContextView still work in JBehave 4.0-beta-7?

Hans Schwäbli | 16 Jun 08:56 2014

ContextView still works in 4.0-beta-7?

I changed a project from JBehave 3.9.2 to 4.0-beta-7.
This made the context view disappear. I use the same code for applying the context view like I see in the JBehave examples today (org.jbehave.examples.core.CoreStories).
Does the ContextView still work in JBehave 4.0-beta-7?
Hans Schwäbli | 11 Jun 11:26 2014

Class which extends PerStoryWebDriverSteps is ignorerd if beforeStory() is overriden

Hello Mauro,
I extend a class from org.jbehave.web.selenium.PerStoryWebDriverSteps where I want to use the methode beforeStory() for some purpose.
But when I do this, the extension is not known anymore to JBehave when I start execution.
This is very strange to me. Just overriding the beforeStory() method in the class which extends PerStoryWebDriverSteps causes JBehave to ignore that class completely.
Maybe you can reproduce this or haven an idea how that occurs.
I can provide you a example which you can download from Github, but I haven't checked it in yet.
By the way, I use JBehave 4 beta 6 and jbehave-web-selenium 3.5.5.
Hans Schwäbli | 11 Jun 10:46 2014

NPE at org.jbehave.core.configuration.Configuration.doDryRun(Boolean)

Hello Mauro,
today I had a NullPointerException at org.jbehave.core.configuration.Configuration.doDryRun(Boolean) with JBehave beta-6.
It was because this.storyControls was null.
Why don't you use storyControls().doDryRun(dryRun) instead of this.storyControls.doDryRun(dryRun)?
Because the instance variable storyControls is lazy initialized in storyControls() method, so a NPE never could occur.
My workaround now is first to call storyControls() method and after that doDryRun(...)
Frank Pedroza | 10 Jun 16:59 2014

how to skip steps

Is it possible to skip single steps of a given story/scenario?  I don't think it is, but I'm wondering if there is a recommended approach.  I have a story with multiple scenarios and most of the scenarios can be fully automated.  However one of my scenarios has a few steps that really make more sense to be tested manually as they require some external party communication.  Would be awesome if I could maintain the same story and execute all but those steps.  Thoughts/suggestions?

Jonathan Gray | 10 Jun 10:53 2014

Error when running using Maven plugin


I'm currently seeing the following error when trying to run JBehave using 
the maven plugin against a Spring Batch project.

[ERROR] Failed to execute goal org.jbehave:jbehave-maven-plugin:3.9.2:run-
stories-as-embeddables (run-stories) on project mrp: Failed to run
 stories as embeddables: Failure in running embeddable: Hierarchy: Error 
creating bean with name 'hierarchyConfiguration': Invocation of ini
t method failed; nested exception is java.lang.NoClassDefFoundError: 
org/codehaus/jettison/mapped/Configuration: org.codehaus.jettison.mappe
d.Configuration -> [Help 1]

I currently only have one story (accompanied by Hierarchy Java class which 
is a JUnitStory).  This uses the SpringStepsFactory which in turns 
references an annotated HeirarchyConfiguration class for the context.

The jettison library is a transitive dependency from spring-batch-core and 
I can see it referenced in the first lines of INFO from the jbehave plugin 
(see below).  Is this a familiar problem to anyone?

[INFO] --- jbehave-maven-plugin:3.9.2:run-stories-as-embeddables (run-
stories)  <at>  mrp ---
[INFO] Running stories as embeddables using embedder Embedder
classes/, /C:/Dev/mrp/mrp/target/classes/, jbehave-core-3.9
.2.jar, junit-4.11.jar, hamcrest-core-1.3.jar, hamcrest-library-1.3.jar, 
hamcrest-integration-1.3.jar, commons-collections-3.2.1.jar, common
s-io-2.4.jar, commons-lang-2.6.jar, plexus-utils-3.0.10.jar, freemarker-
2.3.19.jar, paranamer-2.4.jar, xstream-1.4.5.jar, xmlpull-
r, xpp3_min-1.1.4c.jar, jbehave-spring-3.9.2.jar, spring-test-
4.0.5.RELEASE.jar, spring-context-4.0.5.RELEASE.jar, spring-aop-
jar, aopalliance-1.0.jar, spring-beans-4.0.5.RELEASE.jar, spring-core-
4.0.5.RELEASE.jar, commons-logging-1.1.3.jar, spring-expression-4.0.5.
RELEASE.jar, spring-jdbc-4.0.5.RELEASE.jar, spring-tx-4.0.5.RELEASE.jar, 
ojdbc7-, spring-batch-core-3.0.0.RELEASE.jar,
.jbatch-tck-spi-1.0.jar, javax.batch-api-1.0.jar, jettison-1.2.jar, spring-
batch-infrastructure-3.0.0.RELEASE.jar, spring-retry-1.1.0.RELEAS
E.jar, spring-batch-test-3.0.0.RELEASE.jar, hamcrest-all-
parent: s


To unsubscribe from this list, please visit: