フィットネススリムでクラスパスプロパティを設定する必要があります。として設定しました
!define CLASSPATH_PROPERTY {my-fitnesse-path}
!path ${CLASSPATH_PROPERTY}/fitnesse-20080812.jar
しかし、それは適用されていません。この CLASSPATH_PROPERTY をどこでどのように設定すればよいですか?
フィットネススリムでクラスパスプロパティを設定する必要があります。として設定しました
!define CLASSPATH_PROPERTY {my-fitnesse-path}
!path ${CLASSPATH_PROPERTY}/fitnesse-20080812.jar
しかし、それは適用されていません。この CLASSPATH_PROPERTY をどこでどのように設定すればよいですか?
ルート ページで !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を確認してください。
'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
ステートメントに入れます。