Comment transmettre les valeurs de la variable entre les étapes de Concombre Java?
J'ai une variable et que je veux passer cette variable à travers toutes les étapes.
Tout le monde peut proposer un exemple de fragment de code s'il vous plaît sur la façon de transmettre la valeur d'une variable entre les étapes s'il vous plaît.
Toute aide sera très appréciée.
OriginalL'auteur Sayom | 2015-12-24
Vous devez vous connecter pour publier un commentaire.
De Concombre pour Java (concombre-jvm) le but de partage des données entre les étapes est d'utiliser une dépendance de l'intégration (DI) conteneur - dont plusieurs ont été intégrés avec le Concombre.
La méthode que vous utilisez DI varie légèrement d'un conteneur à l'autre, mais voici un exemple d'utilisation PicoContainer:
Le conteneur d'injection de dépendances de s'assurer qu'une seule instance de MySharedData est créé pour chaque scénario et est passé à chaque l'étape de définition de la classe qui en a besoin. L'avantage de cette approche est que le Concombre veille à ce qu'aucun état partagé les fuites entre les scénarios, parce que l'injection de dépendance est créée à nouveau pour chaque scénario.
L'exemple ci-dessus utilise constructeur d'injection (donc l'injection de dépendance est spécifiée par un paramètre dans le constructeur), mais d'autres DI conteneurs également en charge d'autres d'injection de mécanismes, tels que le Printemps de l'
@Autowired
.Pour obtenir de Concombre à utiliser DI, vous aurez besoin de choisir un (et un seul) de la DI intégrations et de les inclure sur votre chemin de classe (ou dans votre POM). Le choix est entre:
Vous aurez également besoin d'installer le sélectionné DI conteneur lui-même, parce que le Concombre pots seulement fournir de l'intégration entre le Concombre et le conteneur d'injection de dépendances.
Tant que le conteneur d'injection de dépendances que vous choisissez peut gérer une instance de la classe que vous choisirez, alors oui.
OriginalL'auteur Seb Rose
Cette technique est utile, mais s'appuie sur la portée et la visibilité de la variable. Et il permet potentiellement de l'état de la fuite entre les scénarios, ce qui serait une mauvaise chose.
@SebRose dit, l'exemple ci-dessus semble bon jusqu'à ce que vous trouver qu'une autre fonctionnalité de fichier utilise la Donnée à partir d'une classe Java, et utilise ensuite le Ensuite dans une autre classe Java et maintenant, l'information que vous voulez besoins pour passer de la Donnée à l'époque. Le concombre est une autre BDD bête que les autres. - Il vraiment des influences de vous être Donné dans une catégorie distincte, Lorsque dans un autre, Puis dans un autre, l'utilisation de certains de la stratégie de partager des informations entre eux (modèle du Monde, l'Injection de Dépendance, ...)
OriginalL'auteur Boston Star