3

jbehave をジェンキンスと統合する必要があります。しかし、これを行う方法がわかりません。Jenkins でタスクを作成する必要があることがわかりましたが、このタスクで jbehave をどこに配線すればよいかわかりません。

誰か助けてくれませんか?

ありがとう、

サラン

4

3 に答える 3

5

JBehaveがMavenと統合されていると思いますよね?シンプルビルド環境は次のように設定できます。

  1. Jenkinsに移動し、「Build a maven2/3project」タイプの新しいジョブを追加します
  2. 使用するソースリポジトリからチェックアウトするようにプロジェクトを構成します。
  3. 必要なMavenの目標を実行するようにプロジェクトのビルドフェーズを構成します(「インストール」はおそらく機能します)
  4. 保存を押すと、コマンドラインから実行するのとまったく同じように実行される作業プロジェクトができます。

JenkinsでJBehaveテスト出力が適切にレンダリングされることを確認したい場合は、次の手順に従ってJenkins /XUnitプラグインを構成する必要があります。http://jbehave.org/reference/stable/hudson-plugin.html

また、プラグインを使用するには、StoryReporterBuilderでXML出力形式を使用するようにプロジェクトが構成されていることを確認する必要があります(上記の手順には記載されていません)。

于 2012-10-02T04:22:24.193 に答える
1

詳細については、以下をご覧ください。

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

于 2012-12-18T10:41:23.287 に答える
0

コメントによると、Maven プラグインを使用するときに Jenkins 経由で実行するストーリーを指定したいと考えています。1 つの方法を次に示します。

StoryFinderのサブクラスを作成し、それをMaven 構成storyFinderClassのプロパティとして設定します。Jenkins コマンドライン ランチャーでは、StoryFinder から読み取ることができるシステム プロパティとしてストーリーを渡すことができます。-D

コマンドライン

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

メイヴン

<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>

ストーリーファインダー

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(","));
    }
}
于 2013-06-06T05:46:20.373 に答える