0

我需要在 Fitnesse slim 中设置类路径属性。我设置为

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

但它没有得到应用。我应该在哪里以及如何设置这个 CLASSPATH_PROPERTY?

4

2 回答 2

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

未定义此属性时,定义 from!path将直接放入%p。事实上,大多数时候,这CLASSPATH_PROPERTY不是必需的,除非你有一个非常长的类路径(或太多),如上所述。


我猜你只是想为你的测试定义类路径。只需先离开CLASSPATH_PROPERTY,然后先将完整路径放入!path语句中。

于 2016-03-21T02:57:40.470 回答
0

您应该在根页面上使用 !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了解更多信息。

于 2016-03-22T11:56:05.260 回答