我不得不jbehave整合与詹金斯。 但我没有想法如何做到这一点。 我看到了,我要创建一个詹金斯的任务,但我不知道我应该完成这个任务连线jbehave。
有人可以帮我吗?
谢谢,
巢
我不得不jbehave整合与詹金斯。 但我没有想法如何做到这一点。 我看到了,我要创建一个詹金斯的任务,但我不知道我应该完成这个任务连线jbehave。
有人可以帮我吗?
谢谢,
巢
所以我假设你有JBehave集成使用Maven,是否正确? 简单的构建环境,可设置如下:
如果你想看到詹金斯很好地呈现JBehave测试输出你也应该遵循这些步骤来配置詹金斯/插件的xUnit: http://jbehave.org/reference/stable/hudson-plugin.html
您还需要确保您的项目配置为使用XML输出格式在StoryReporterBuilder利用插件(在说明没有提到以上)。
您可以访问详细内容如下:
http://jbehave.org/reference/stable/hudson-plugin.html
根据您的意见,要指定故事使用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(","));
}
}