How to execute multiple tests at the same time with jBehave?
jbehave
Solution
Your question could contain a little more detail, but I assume that you are using run-stories-as-embeddables goal. You basically have two options:
When using the run-stories-as-embeddables goal, set the property "threads" to the goal. Extending the example from the Maven Gaols documentation:
<plugin>
<groupId>org.jbehave</groupId>
<artifactId>jbehave-maven-plugin</artifactId>
<version>[version]</version>
<executions>
<execution>
<id>run-stories-as-embeddables</id>
<phase>integration-test</phase>
<configuration>
<includes>
<include>**/*Stories.java</include>
</includes>
<ignoreFailureInStories>true</ignoreFailureInStories>
<ignoreFailureInView>false</ignoreFailureInView>
<treads>5</threads>
</configuration>
<goals>
<goal>run-stories-as-embeddables</goal>
</goals>
</execution>
</executions>
</plugin>
Use the run-stories-with-annotated-embedder maven goal, which should respect the Annotation
Also, the two scenarios that you describe above have to be in two seperate stories. Mutli-threading only happens on story-level. Scenarios inside the same story are not executed multi-threaded.
Problem
I have some tests created with jBehave and WebDriver. When I execute them via Maven, the execution is secuencially: TEST 1 - Open navigator - Execute all the steps of the first story - Close navigator TEST 2 - Open navigator - Execute all the steps of the second story - Close navigator ... I'm interested in execute the tests simultaneously. According the documentation, this is possible. http://jbehave.org/reference/stable/multi-threading.html I've tried adding the notation to the "Stories" class, and also executed the mvn command with the threads=5, but doesn't work. ``` @UsingEmbedder(threads=5) public class EtsyDotComStories extends JUnitStories { ... @Override protected List<String> storyPaths() { return new StoryFinder().findPaths(codeLocationFromClass(this.getClass()).getFile(), asList("**/*.story"), null); } } mvn clean install -s settings.xml -Pjava-spring,codehaus,threads=5 ``` Is it possible to execute multiple tests simultaneously? EDIT: Added the maven execution part: ``` <plugins> <plugin> <groupId>org.jbehave</groupId> <artifactId>jbehave-maven-plugin</artifactId> <version>${jbehave.core.version}</version> <executions> <execution> <id>embeddable-stories</id> <phase>integration-test</phase> <configuration> <includes> <include>**/*Stories.java</include> </includes> <ignoreFailureInStories>true</ignoreFailureInStories> <ignoreFailureInView>false</ignoreFailureInView> <threads>5</threads> <executorsClass>org.jbehave.core.embedder.executors.SameThreadExecutors</executorsClass> </configuration> <goals> <goal>run-stories-as-embeddables</goal> </goals> </execution> </executions> <dependencies> <dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>11.0.1</version> </dependency> </dependencies> </plugin> </plugins> ```