我需要在fitnesse slim中设置classpath属性。我设置为
!define CLASSPATH_PROPERTY {my-fitnesse-path}
!path ${CLASSPATH_PROPERTY}/fitnesse-20080812.jar
但它没有得到应用。我应该在哪里以及如何设置此CLASSPATH_PROPERTY?
答案 0 :(得分:0)
在哪里设置' CLASSPATH_PROPERTY?
!define CLASSPATH_PROPERTY {A_SELF_DEFINED_PROPERTY_NAME}
这是设置它的正确语法。您可以在测试之前的任何位置将其设置在同一页面或其父页面上。
但我确实感觉你错误地理解了CLASSPATH_PROPERTY
的用法。
CLASSPATH_PROPERTY指定在运行测试之前将类路径(从!path语句收集)放入其中的环境变量的名称。当类路径的大小太大而某些inept操作系统无法处理时,这种情况最常用。您可以改为定义CLASSPATH_PROPERTY {CLASSPATH},而不是指定COMMAND_PATTERN的%p参数。这对Java最有用。对于其他语言,它可能没有多大意义。
Fitnesse使用java -cp %p %m
启动测试。定义CLASSPATH_PROPERTY
后,从!path
收集的任何路径将首先汇总并放入CLASSPATH_PROPERTY
并替换测试启动命令中的%p
。
如果未定义此属性,!path
中的定义将直接放入%p
。事实上,大多数情况下,不需要这个CLASSPATH_PROPERTY
,除非你有一个非常长的类路径(或者它们太多),如上所述。
我想你只想为你的测试定义classpath。首先离开CLASSPATH_PROPERTY
,然后将完整路径放入!path
语句中。
答案 1 :(得分:0)
您应该在根页面上使用!path定义完整的类路径。所以所有的子维基都会使用相同的。请查看http://www.fitnesse.org/FitNesse.FullReferenceGuide.UserGuide.WritingAcceptanceTests.ClassPath以获取更多信息。
但是,如果你想对你的项目进行编组,最好使用maven-classpath-plugin并定义你的所有依赖项,如果你想在你的类路径下有特定的fitnesse版本你将它定义为依赖, 就这样。这次在您的根页面上,而不是声明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了解详情。