Фитнес: где установить 'CLASSPATH_PROPERTY?
Мне нужно установить свойство classpath в fitnesse slim. Я установил как
!define CLASSPATH_PROPERTY {my-fitnesse-path}
!path ${CLASSPATH_PROPERTY}/fitnesse-20080812.jar
Но это не применяется. Где и как мне установить этот CLASSPATH_PROPERTY?
2 ответа
Вы должны определить полный путь к классу, используя! Path на своей корневой странице. так что все под-вики будут использовать то же самое. Посмотрите на http://www.fitnesse.org/FitNesse.FullReferenceGuide.UserGuide.WritingAcceptanceTests.ClassPath для получения дополнительной информации об этом.
Однако, если вы хотите превратить ваш проект в mavenize, рекомендуется использовать maven-classpath-plugin, и вы определяете все свои зависимости, как в вашем случае, если вы хотите иметь конкретную версию fitnesse под вашим classpath, вы определяете ее как зависимость, вот и все, В этот раз на своей корневой странице вместо объявления 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) перед запуском теста. Это чаще всего используется, когда размер пути к классу слишком велик для определенных неумелых операционных систем. Вместо указания аргумента%p в COMMAND_PATTERN вы можете вместо этого! Определить CLASSPATH_PROPERTY {CLASSPATH}. Это наиболее полезно для Java. Для других языков это может не иметь большого значения.
Использование фитнеса java -cp %p %m
запустить тест. когда CLASSPATH_PROPERTY
определяется, какие бы пути не собраны !path
будет заключен и помещен в CLASSPATH_PROPERTY
сначала и замени %p
в команде запуска теста.
Когда это свойство не определено, определения из !path
будет помещен в %p
непосредственно. На самом деле, в большинстве случаев это CLASSPATH_PROPERTY
не требуется, если у вас нет очень очень длинного пути к классам (или их слишком много), как упомянуто выше.
Я думаю, вы просто хотите определить classpath для вашего теста. Просто оставить CLASSPATH_PROPERTY
во-первых, и положить полный путь в !path
заявление первым.