Comment intégrer le Printemps de Concombre
Je suis en train d'essayer d'intégrer le Printemps dans mon Concombre tests. J'ai un custom SpringFactory comme indiqué dans:
http://www.zsoltfabok.com/blog/2012/01/cucumber-jvm-di/
mais le code n'est pas appelée. Quelle est la meilleure façon de "brancher" à l'usine avec mes tests?
[Clarification de commentaire sur supprimés réponse: le principal problème est que mon test a de Concombre comme le principal coureur, c'est à dire annotation @RunWith(Cucumber.class) ne peut donc pas utiliser le SpringJUnit4ClassRunner ici. Ceci est décrit dans le lien ci-dessus, mais il n'y a pas de description de la façon dont cucumber.xml est lire. J'ai ajouté un nouveau SpringFactory mais il n'est pas de la lecture du fichier XML....]
Mise à jour: en Fait, ont eu un peu plus loin en ajoutant:
<dependency>
<groupId>info.cukes</groupId>
<artifactId>cucumber-spring</artifactId>
<version>1.0.0.RC15</version>
</dependency>
Cependant, j'ai @Autocâblés variables qui ne sont pas injecté que le test est en cours d'exécution par le Concombre.
Quelqu'un d'autre a eu ce problème?
OriginalL'auteur Reimeus | 2012-02-23
Vous devez vous connecter pour publier un commentaire.
Une rapide recherche sur Google pour "concombre de printemps de l'intégration" apporte-moi ici et ici. Si vous utilisez
cuke4duke
cela ressemble à un moyen beaucoup plus simple pour aller.L'échantillon, ce qui semble indiquer que, par défaut,
cuke4duke
chargecucumber.xml
à partir de la base de votre classpath. C'est un Ressort fichier de configuration qui doit inclure unecomponent-scan
pour les classes annotées avec@StepDefinition
.Vous n'aurez pas besoin de fournir un
SpringFactory
, vous n'aurez pas besoin d'utiliser le@RunWith
annotation, il suffit de fournir quelques Printemps de configuration et d'une ou de plusieurs propriétés jvm.OriginalL'auteur Ryan Ransford
Mise à jour: Le cuke4duke projet est maintenant obsolète et a été remplacé par du Concombre-de la JVM.
J'ai aussi eu le même problème et la cause était que cucumber.xml n'a pas été lu par le SpringFactory dans cucumber-spring-1.1.5.jar. Printemps DI échoué silencieusement résultant des Npe.
Depuis présentation 448, le Concombre SpringFactory ne charge plus cucumber.xml et vous êtes tenu d'inclure
@ContextConfiguration("classpath*:cucumber.xml")
dans TOUS de votre étape de définition de classes.OriginalL'auteur Diarmuid
Je viens de voir votre question. Probablement le
cucumber-spring
module de dépendances manquantes. J'ai mis à jour le référentiel et maintenant, toutes les dépendances doit être fine (je suis à l'aide de la puce).OriginalL'auteur Zsolt
Le problème est que certaines versions de Printemps seulement fonctionner avec certaines versions de Concombre-Printemps et Concombre-de la JVM. Trouver la combinaison gagnante peut prendre deux jours de jongler avec jar versions. Donc, commencer avec un "Hello World" BDD scénario qui utilise l'injection simple que vous savez fonctionner, parce que vous aurez besoin d'ajuster ces pots jusqu'à ce que vous obtenez un environnement qui fonctionne.
La façon la plus simple est de faire correspondre la dernière version de Printemps avec la dernière version de Concombre-Printemps. Les nouvelles versions de Printemps sont mieux pris en charge. Si vous ne pouvez pas simplement mettre à niveau votre printemps, puis utilisez les sites web qui décrivent les dépendances maven entre les différentes versions de Concombre-au Printemps, et la version de Printemps, vous travaillez avec.
Si vous voulez coller avec votre ancienne version de Printemps (mauvaise idée, la douleur de l'évolution ne feront qu'empirer) une autre stratégie consiste à utiliser JBehave pour la BDD de test.
OriginalL'auteur Lance Kind