我需要在 Fitnesse slim 中设置类路径属性。我设置为
!define CLASSPATH_PROPERTY {my-fitnesse-path}
!path ${CLASSPATH_PROPERTY}/fitnesse-20080812.jar
但它没有得到应用。我应该在哪里以及如何设置这个 CLASSPATH_PROPERTY?
我需要在 Fitnesse slim 中设置类路径属性。我设置为
!define CLASSPATH_PROPERTY {my-fitnesse-path}
!path ${CLASSPATH_PROPERTY}/fitnesse-20080812.jar
但它没有得到应用。我应该在哪里以及如何设置这个 CLASSPATH_PROPERTY?
在哪里设置'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
未定义此属性时,定义 from!path
将直接放入%p
。事实上,大多数时候,这CLASSPATH_PROPERTY
不是必需的,除非你有一个非常长的类路径(或太多),如上所述。
我猜你只是想为你的测试定义类路径。只需先离开CLASSPATH_PROPERTY
,然后先将完整路径放入!path
语句中。
您应该在根页面上使用 !path 定义完整的类路径。所以所有的子wiki都将使用相同的。查看http://www.fitnesse.org/FitNesse.FullReferenceGuide.UserGuide.WritingAcceptanceTests.ClassPath了解更多信息。
但是,如果您想对您的项目进行 mavenize,使用 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了解更多信息。