2016-03-20 2 views
0

Je dois définir la propriété classpath dans fitnesse slim. J'ai défini commeFitnesse: où placer 'CLASSPATH_PROPERTY?

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

Mais il ne s'applique pas. Où et comment dois-je définir cette CLASSPATH_PROPERTY?

+0

quelle est l'erreur que vous voyez, et qu'essayez-vous d'accomplir? –

Répondre

0

Où définir 'CLASSPATH_PROPERTY?

!define CLASSPATH_PROPERTY {A_SELF_DEFINED_PROPERTY_NAME}

Ceci est la syntaxe correcte pour le définir. Vous pouvez le définir n'importe où avant le test, soit sur la même page ou sur sa page parente.


Mais j'ai le sentiment que vous comprenez l'utilisation de CLASSPATH_PROPERTY à tort.

CLASSPATH_PROPERTY spécifie le nom de la variable d'environnement dans laquelle le chemin de classe (issu des instructions! Ceci est le plus souvent utilisé lorsque la taille du chemin de classe est trop grande pour traiter certains systèmes d'exploitation ineptes. Au lieu de spécifier l'argument% p de COMMAND_PATTERN, vous pouvez à la place définir CLASSPATH_PROPERTY {CLASSPATH}. C'est très utile pour Java. Pour d'autres langues, cela peut ne pas avoir beaucoup de sens.

Fitnesse utilise java -cp %p %m pour lancer un test. Lorsque CLASSPATH_PROPERTY est défini, tous les chemins recueillis à partir de !path seront concaténés et placés dans CLASSPATH_PROPERTY en premier et remplacer %p dans la commande de lancement de test.

Lorsque cette propriété n'est pas définie, les définitions de !path seront directement placées dans %p. En fait, la plupart du temps, cette CLASSPATH_PROPERTY n'est pas nécessaire, à moins que vous ayez un très long chemin de classe (ou trop d'entre eux), comme mentionné ci-dessus.


Je suppose que vous voulez simplement définir le chemin de classe pour votre test. Laissez simplement CLASSPATH_PROPERTY en premier, et mettez d'abord le chemin complet dans une instruction !path.

0

Vous devez définir le chemin de classe complet en utilisant! Path sur votre page racine. donc tous les sous-wiki utiliseront la même chose. Regardez http://www.fitnesse.org/FitNesse.FullReferenceGuide.UserGuide.WritingAcceptanceTests.ClassPath pour plus d'informations à ce sujet. Cependant, si vous voulez mavenize votre projet, c'est une bonne idée d'utiliser maven-classpath-plugin et vous définissez toutes vos dépendances comme dans votre cas si vous voulez avoir une version spécifique de fitnesse sous votre classpath vous le définissez comme un la dépendance, c'est tout. Sur votre page racine cette fois, au lieu de déclarer 100 dépendances, utilisez simplement! PomFile pom.xml et le reste sera pris en charge par le plug-in. Voir https://github.com/amolenaar/fitnesse-maven-classpath pour plus d'informations.

Un exemple pom.xml pourrait ressembler à quelque chose comme ci-dessous

<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> 

Vous pouvez également utiliser ainsi plug-in lance FitNesse maven, qui fonctionne très bien de mon expérience lorsque vous travaillez dans un environnement de CI. Vérifiez http://fitnesse-launcher-maven-plugin.googlecode.com/svn/maven/site/fitnesse-launcher-maven-plugin/config.html pour plus d'informations.