首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jbehave与jenkins集成

jbehave与jenkins集成
EN

Stack Overflow用户
提问于 2012-08-15 23:53:25
回答 3查看 8.3K关注 0票数 3

我必须将jbehave与jenkins集成。但我不知道该怎么做。我知道我必须在Jenkins中创建一个任务,但是我不知道我应该在哪里使用jbehave来处理这个任务。

有人能帮帮我吗?

谢谢,

Sarang

EN

回答 3

Stack Overflow用户

发布于 2012-10-02 12:22:24

所以我假设你已经把JBehave和Maven集成起来了,对吗?可以按如下方式设置简单的构建环境:

  1. 转到Jenkins并添加一个类型为"Build a maven2/3 project"
  2. Configure your project“的新作业,以便从您使用的任何源代码库中签出。
  3. 将项目的构建阶段配置为运行您需要的任何Maven目标(”
  4. “可能会起作用)
  5. 点击保存,您就有了一个可以从命令行执行的工作项目。

如果希望在Jenkins中很好地呈现JBehave测试输出,还应该按照以下说明配置Jenkins/XUnit插件:http://jbehave.org/reference/stable/hudson-plugin.html

您还需要确保您的项目配置为在StoryReporterBuilder中使用XML输出格式,以使用插件(在上面的说明中没有提到)。

票数 5
EN

Stack Overflow用户

发布于 2012-12-18 18:41:23

您可以访问以下地址了解详细信息:

http://jbehave.org/reference/stable/hudson-plugin.html

票数 1
EN

Stack Overflow用户

发布于 2013-06-06 13:46:20

根据您的评论,您希望指定在使用Maven插件时通过Jenkins运行的故事。这里有一种方法:

创建StoryFinder的子类,并将其设置为Maven configuration中的storyFinderClass属性。在Jenkins命令行启动器中,您可以将stories作为-D系统属性传入,然后可以从StoryFinder中读取该属性。

命令行

代码语言:javascript
复制
mvn ... -Dcom.sarang.stories="foo.story,bar.story"

Maven

代码语言:javascript
复制
<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>
                ...
                <systemProperties>
                    <property>
                      <name>com.sarang.stories</name>
                      <value>${com.sarang.stories}</value>
                    </property>
                </systemProperties>
                <storyFinderClass>com.sarang.MyStoryFinder</storyFinderClass>
            </configuration>
            <goals>
                <goal>run-stories-as-embeddables</goal>
                ...
            </goals>
        </execution>
    </executions>
</plugin>

StoryFinder

代码语言:javascript
复制
package com.sarang;

import org.jbehave.core.io.StoryFinder;
import java.util.*;

public class MyStoryFinder extends StoryFinder {
    @Override
    protected List<String> scan(String basedir, List<String> includes,
            List<String> excludes) {
        //List<String> defaultStories = super.scan(basedir, includes, excludes);
        String myStories = System.getProperty("com.sarang.stories");
        return Arrays.asList(myStories.split(","));
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11972696

复制
相关文章

相似问题

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