首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用jBehave同时执行多个测试?

如何使用jBehave同时执行多个测试?
EN

Stack Overflow用户
提问于 2013-04-12 14:24:56
回答 2查看 8.2K关注 0票数 7

我有一些用jBehave和WebDriver创建的测试。

当我通过Maven执行它们时,执行是安全的:

试验1

  • 开式导航仪
  • 执行第一个故事的所有步骤
  • 封闭导航仪

试验2

  • 开式导航仪
  • 执行第二个故事的所有步骤
  • 封闭导航仪

..。

我对同时执行测试很感兴趣。根据文件,这是可能的。

http://jbehave.org/reference/stable/multi-threading.html

我尝试过将表示法添加到“tried”类中,并使用threads=5执行mvn命令,但没有工作。

代码语言:javascript
复制
    @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

是否有可能同时执行多个测试?

编辑:

添加了maven执行部分:

代码语言:javascript
复制
<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>
EN

回答 2

Stack Overflow用户

发布于 2013-04-16 09:27:26

您的问题可能包含更多的细节,但我假设您正在使用运行故事作为嵌入目标。你基本上有两个选择:

  1. 当使用运行故事作为嵌入目标时,将属性“线程”设置为目标。扩展来自Maven Gaols文档 org.jbehave test maven-plugin版本的示例,运行故事作为嵌入式集成-test**/Stories.java真假5作为嵌入的故事
  2. 使用带有注释的运行故事-带有注释的maven目标,它应该尊重注释。

另外,上面描述的两个场景必须是在中,两个独立的故事。多线程只发生在故事层面上。同一故事中的场景不会被多线程执行。

票数 3
EN

Stack Overflow用户

发布于 2016-06-06 10:00:46

使用Spring JUnit测试转轮.useThreads(20)

代码语言:javascript
复制
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = {
    ...
})
public class Stories extends JUnitStories {

    @Before
    public void setUp() throws Exception {
        configuredEmbedder()
                .embedderControls()
                ...
                .useThreads(20)
                .useStoryTimeouts(Integer.toString(maxIfDebugOr(1800)));
    }
...
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15973904

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档