Comment puis-je utiliser des variables dans mon fichier de fonctionnalités? Spécifiquement, j'ai besoin d'utiliser et dans mon fichier de test d'acceptation ... p> est-ce la bonne façon d'aller cette? Je ne suis pas sûr de savoir comment utiliser des variables dans mon fichier de fonctionnalités. Je veux que mon test d'acceptation utilise la date actuelle em>. P> p> datetime.now code>. Idéalement, quelque chose comme ...
3 Réponses :
Le moyen le plus simple consiste à écrire une étape spécifique aux éléments de retour des lignes de retour pour "en ce moment": Vous pouvez appeler l'autre version de la marche à partir de la nouvelle version: p > [Given(@"the API returns items for right now")]
public void GivenTheAPIReturnsItemsForRightNow()
{
GivenTheAPIReturnsItemsFor(DateTime.Now);
}
Je suis partiellement d'accord avec Greg Brugghardts Réponse. Étant donné que le fichier de fonctionnalités est quelque chose que vous pouvez partager avec les intervenants d'entreprise (ou d'autres personnes non-informatiques de votre organisation), il serait plus logique d'utiliser la langue «du monde réel» dans vos fichiers de fonctionnalités. De plus, lorsque vous transmettez cela à un outil de rapport à la fin du test, il serait plus lisible.
Je l'aborderais comme ça. L'instruction de commutation facilite l'ajout d'autres types de dates avec une langue du monde réel: p> Votre fichier de fonctionnalité pourrait alors ressembler à p>
C'est sûr que mon commentaire sur la langue du monde réel a été signalé à l'exemple donné par Kevin Price où il essaie de passer DateTime.Now dans son fichier de fonctionnalités. Aurait pu libellé qu'un peu mieux :-)
Un moyen, l'IMO plus facile, pour obtenir la date de date actuelle dans votre test est ci-dessus est juste EX, mais essentiellement Associez-le avec toute la variable de chaîne que vous aimez p> Le code ci-dessus enregistre l'heure actuelle et la date actuelle trois fois p> p> P> [StepargumentTransformation] Code>, puis vous pouvez extraire la date ou d'autres choses. De cette façon, vous pouvez utiliser
[stepargumenttransformation] code> dans d'autres étapes de votre gerkin comme ci-dessous, ce qui aboutit à moins de code
étant donné que l'API renvoie des éléments pour l'actuel Time P> P> P> P> P> P> P> P> P> P> P> P> P> P> P> P> P> P> P> P> P> P> P> P >
étant donné la base de données1 renvoie des éléments pour rightnowTime code> p>
étant donné que la base de données2 renvoie des éléments de présentation code> p>
La seule plainte que j'ai à propos de ceci est le libellé que vous choisissez (qui pourrait être changé), mais +1 pour la pointe des transformations de l'étape. Ils sont très utiles.