0

フィットネススリムでクラスパスプロパティを設定する必要があります。として設定しました

!define CLASSPATH_PROPERTY {my-fitnesse-path}
!path ${CLASSPATH_PROPERTY}/fitnesse-20080812.jar

しかし、それは適用されていません。この CLASSPATH_PROPERTY をどこでどのように設定すればよいですか?

4

2 に答える 2

0

ルート ページで !path を使用して完全なクラス パスを定義する必要があります。したがって、すべてのサブ wiki は同じものを使用します。詳細については、http://www.fitnesse.org/FitNesse.FullReferenceGuide.UserGuide.WritingAcceptanceTests.ClassPathを参照してください。

ただし、プロジェクトをマベナイズしたい場合は、maven-classpath-plugin を使用することをお勧めします。クラスパスの下に特定のフィットネス バージョンが必要な場合は、依存関係として定義する場合のように、すべての依存関係を定義します。それだけです。 . 今回は、ルート ページで 100 個の依存関係を宣言する代わりに、単純に !pomFile pom.xml を使用します。残りはプラグインによって処理されます。詳細については、 https://github.com/amolenaar/fitnesse-maven-classpathを参照してください。

pom.xml の例は次のようになります。

<dependency>
    <groupId>org.fitnesse</groupId>
    <artifactId>fitnesse</artifactId>
    <version>20150814</version>
</dependency>
.
.
<dependency>
        <groupId>org.fitnesse.plugins</groupId>
        <artifactId>maven-classpath-plugin</artifactId>
        <version>1.6</version>
        <!-- <scope>runtime</scope> -->
</dependency>

また、fitnesse launcher maven プラグインも使用できます。これは、CI 環境で作業している場合の私の経験から、うまく機能します。詳細については、 http://fitnesse-launcher-maven-plugin.googlecode.com/svn/maven/site/fitnesse-launcher-maven-plugin/config.htmlを確認してください。

于 2016-03-22T11:56:05.260 に答える
0

'CLASSPATH_PROPERTY をどこに設定しますか?

!define CLASSPATH_PROPERTY {A_SELF_DEFINED_PROPERTY_NAME}

これは、それを設定するための正しい構文です。同じページまたはその親ページのいずれかで、テスト前の任意の場所に設定できます。


CLASSPATH_PROPERTYしかし、あなたは の使い方を間違って理解しているような気がします。

CLASSPATH_PROPERTYは、テストを実行する前に (!path ステートメントから収集された) クラスパスが配置される環境変数の名前を指定します。これは、クラスパスのサイズが大きすぎて、特定の不適切なオペレーティング システムが処理できない場合に最もよく使用されます。COMMAND_PATTERN の %p 引数を指定する代わりに、!define CLASSPATH_PROPERTY {CLASSPATH} を指定できます。これは、Java の場合に最も役立ちます。他の言語ではあまり意味がないかもしれません。

Fitnesse を使用java -cp %p %mしてテストを開始します。が定義されている場合CLASSPATH_PROPERTY、収集されたすべてのパスが連結されて最初!pathに配置され、テスト起動コマンドでCLASSPATH_PROPERTY置き換えられます。%p

このプロパティが定義されていない場合、 からの定義が直接!path配置され%pます。実際、CLASSPATH_PROPERTY上記のように、クラスパスが非常に長い (またはクラスパスが多すぎる) 場合を除き、ほとんどの場合、これは必要ありません。


テスト用のクラスパスを定義したいだけだと思います。最初にそのままCLASSPATH_PROPERTYにして、最初に完全なパスを!pathステートメントに入れます。

于 2016-03-21T02:57:40.470 に答える