Мне нужно установить свойство classpath в Fitnesse Slim. я установил как
!define CLASSPATH_PROPERTY {my-fitnesse-path}
!path ${CLASSPATH_PROPERTY}/fitnesse-20080812.jar
Но он не применяется. Где и как мне установить этот CLASSPATH_PROPERTY?
Мне нужно установить свойство classpath в 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 операторы) будут размещены перед запуском теста. Это чаще всего используется, когда размер пути к классам слишком велик для некоторых неумелых операционных систем. Вместо указания аргумента %p в COMMAND_PATTERN вы можете !define CLASSPATH_PROPERTY {CLASSPATH}. Это наиболее полезно для Java. Для других языков это может не иметь большого значения.
Fitnesse использует java -cp %p %m
для запуска теста. Когда CLASSPATH_PROPERTY
определено, любые пути, собранные из !path
, будут объединены и сначала помещены в CLASSPATH_PROPERTY
, а затем заменят %p
в команде запуска теста.
Если это свойство не определено, определения из !path
будут помещены непосредственно в %p
. На самом деле, в большинстве случаев этот CLASSPATH_PROPERTY
не нужен, если только у вас нет очень-очень длинного пути к классам (или их слишком много), как упоминалось выше.
Я думаю, вы просто хотите определить путь к классам для своего теста. Просто сначала оставьте CLASSPATH_PROPERTY
и сначала введите полный путь в оператор !path
.
Вы должны определить полный путь к классу, используя !path на вашей корневой странице. поэтому все подвики будут использовать одно и то же. См. 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>
Вы также можете использовать подключаемый модуль Maven Fitnesse Launcher, который, исходя из моего опыта, отлично работает, когда вы работаете в среде CI. Проверьте http://fitnesse-launcher-maven-plugin.googlecode.com/svn/maven/site/fitnesse-launcher-maven-plugin/config.html для получения дополнительной информации.