jbehave的集成詹金斯(Integration of jbehave with jenkins)

2019-09-21 06:10发布

我不得不jbehave整合与詹金斯。 但我没有想法如何做到这一点。 我看到了,我要创建一个詹金斯的任务,但我不知道我应该完成这个任务连线jbehave。

有人可以帮我吗?

谢谢,

Answer 1:

所以我假设你有JBehave集成使用Maven,是否正确? 简单的构建环境,可设置如下:

  1. 去詹金斯,并添加类型的新工作“建立了maven2 / 3工程”
  2. 配置您的项目,你从你使用任何源代码库退房。
  3. 配置项目运行任何你需要的Maven目标的构建阶段(“安装”可能会工作)
  4. 点击保存,有一个会,正是因为它会在命令行中执行的工作项目。

如果你想看到詹金斯很好地呈现JBehave测试输出你也应该遵循这些步骤来配置詹金斯/插件的xUnit: http://jbehave.org/reference/stable/hudson-plugin.html

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



Answer 2:

您可以访问详细内容如下:

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



Answer 3:

根据您的意见,要指定故事使用Maven插件时通过詹金斯运行。 这里有一种方法:

创建的子类StoryFinder并将其设置为storyFinderClass你的财产Maven配置 。 在命令行詹金斯发射器,您可以在故事的经过-D然后可以从您的StoryFinder读取系统属性。

命令行

mvn ... -Dcom.sarang.stories="foo.story,bar.story"

Maven的

<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

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(","));
    }
}


文章来源: Integration of jbehave with jenkins