Afin d’utiliser et appliquer le contenu de ce TP vous devez avoir téléchargé le

Afin d’utiliser et appliquer le contenu de ce TP vous devez avoir téléchargé les éléments suivants : 1. IntelliJ cummunity (open source) 2. JDK 1.8 Voici un exemple rapide, étape par étape, de la façon de démarrer avec BDD dans IntelliJ. Vous pouvez également suivre ces exemples si vous utilisez d'autres IDE, mais certaines bonnes choses automatiques peuvent ne pas arriver (comme des plugins de téléchargement automatique pour vous aider à éditer les fichiers de caractéristiques et vous inviter à importer de nouvelles dépendances Mavan). J'ai essayé quelques frameworks BDD en Java avant de m'installer avec Cucumber-JVM, qui s'intègre très bien. Voici les étapes à suivre pour y arriver- le deuxième projet que vous utiliserez avec BDD sera beaucoup plus facile car plusieurs de ces étapes n'ont pas besoin d'être répétées.  Nouveau Project (New Project) Ouvrez IntelliJ et sélectionnez "Nouveau projet". Pour commencer rapidement, utilisez l'archétype « Maven org.apache.maven.archetypes » maven-archetype-quickstart. Cela va démarrer votre projet avec une structure raisonnable et vous aidera à suivre cet exemple. Figure 1: Nouveau Project Entrez quelques détails pour le GroupId (j'ai entré "com.example") dans ArtifactId (j'ai entré "exemple". Figure 2 Cliquez sur Suivant. L'écran suivant doit être pré-rempli, il suffit donc de cliquer à nouveau sur suivant. Si vous n'avez pas de chemin dans le chemin Maven, vous obtiendrez une erreur - téléchargez Maven si vous ne l'avez pas déjà fait et fournissez le chemin vers l'emplacement où vous avez décompressé Maven. Figure 3 J'ai entré le nom du projet "Exemple" et j'ai permis à IntelliJ de sélectionner l'emplacement du projet pour moi. Vous aurez maintenant une nouvelle solution presque vide avec une structure soignée. NB :Enable auto download.  Utilisation des librairies externes : Les bibliothèques externes utilisées sont répertoriées ci-dessous.  info.cukes:cucumber-java:1.1.3  info.cukes:cucumber-junit:1.1.3  junit:junit:4.11 Pour télécharger tout ce dont vous avez besoin automatiquement, ouvrez votre fichier "pom.xml" et ajoutez le dépôt Cuckes, ainsi que toutes les dépendances dans le code ci-dessous. Vous devez avoir le tableau suivant après l’exécution et téléchargement des différentes librairies. Maven ajoutera volontiers toutes vos dépendances externes et vous pourrez en voir plus que ce que vous avez demandé, car il saisira automatiquement toutes les dépendances supplémentaires dont les paquets ont besoin. Figure 4 Figure 5 Maintenant que le projet de base et ses dépendances sont mis en place, il y a un peu de bricole à effectuer pour joindre vos spécifications à votre exécuteur de test. Vous pouvez le faire en utilisant une seule classe vide avec quelques attributs. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven- 4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>example.com</groupId> <artifactId>example</artifactId> <version>1.0-SNAPSHOT</version> <packaging>jar</packaging> <name>example</name> <url>http://maven.apache.org</url> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <repositories> <repository> <id>sonatype-snapshots</id> <url>https://oss.sonatype.org/content/repositories/snapshots</url> <snapshots> <enabled>true</enabled> </snapshots> </repository> </repositories> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.11</version> <scope>test</scope> </dependency> <dependency> <groupId>info.cukes</groupId> <artifactId>cucumber-junit</artifactId> <version>1.1.3</version> <scope>test</scope> </dependency> <dependency> <groupId>info.cukes</groupId> <artifactId>cucumber-java</artifactId> <version>1.1.3</version> <scope>test</scope> </dependency> </dependencies> </project> package example.com; /** * Hello world! * */ public class App { public static void main( String[] args ) { System.out.println( "Hello World!" ); } } Maintenant on passé à l’exécution Maintenant que le projet de base et ses dépendances sont mis en place, il y a des liens à effectuer pour lier vos spécifications à vos tests. Vous pouvez le faire en utilisant une seule classe vide avec quelques attributs apres cette opération vous devez redémarer inteliij Lorsque nous avons créé le Cukes Runner, nous lui avons dit de trouver des fonctionnalités dans le dossier "src / test / resources", nous devons donc ajouter un nouveau dossier sous "test" nommé "resources". Une fois le dossier ajouté, cliquez avec le bouton droit de la souris et recherchez «Marquer le répertoire sous» dans le menu, puis sélectionnez «Racine des ressources de test» dans les options. Vous pouvez maintenant ajouter une nouvelle fonctionnalité à ce dossier. Ajouter un nouveau fichier texte nommé "Example.feature". IntelliJ vous invite à télécharger des plugins lorsque vous ajoutez ce fichier - donc acceptez les plugins. Ils faciliteront l'utilisation de la syntaxe Gherkin dans vos fichiers de fonctionnalités. Dans votre nouveau fichier de fonctionnalité, ajoutez la spécification suivante: Example.feature Feature: Fizz Buzz Game So that plays can be validated As a Fizz Buzz umpire I want to enter a play and see the correct answer Scenario: Get answers based on played numbers Given I am officiating a FizzBuzz game When the number 1 is played Then I should be told the correct answer is "1" Maintenant, faites un clic droit sur CukesRunner et sélectionnez "Exécuter CukesRunner" ". Le concombre affichera le message utile suivant: You can implement missing steps with the snippets below: @Given("^I am officiating a FizzBuzz game$") public void I_am_officiating_a_FizzBuzz_game() throws Throwable { // Express the Regexp above with the code you wish you had throw new PendingException(); } @When("^the number (\\d+) is played$") public void the_number_is_played(int arg1) throws Throwable { // Express the Regexp above with the code you wish you had throw new PendingException(); } @Then("^I should be told the correct answer is \"([^\"]*)\"$") public void I_should_be_told_the_correct_answer_is(String arg1) throws Throwable { // Express the Regexp above with the code you wish you had throw new PendingException(); } Ajoutez simplement ce code suggéré à une nouvelle classe Java appelée "ExampleSteps". IntelliJ vous invitera à ajouter les instructions d'importation suivantes: ExampleSteps.java package example.com; import cucumber.api.java.en.Given; import cucumber.api.java.en.Then; import cucumber.api.java.en.When; import static org.junit.Assert.assertEquals; public class ExampleSteps { private Example _target; private String _actualResult; @Given("^I am officiating a FizzBuzz game$") public void I_am_officiating_a_FizzBuzz_game() { _target = new Example(); } @When("^the number (\\d+) is played$") public void the_number_is_played(int playedNumber) { _actualResult = _target.checkPlay(playedNumber); } @Then("^I should be told the correct answer is \"([^\"]*)\"$") public void I_should_be_told_the_correct_answer_is(String expectedResult) { assertEquals(expectedResult, _actualResult); } } Example.java package example.com; public class Example { public String checkPlay(int playedNumber) { return Integer.toString(playedNumber); } } maintenant on refait les tests tout est ok est cela est traduit par test passed et la couleur verte. uploads/Litterature/ tpintegrationcontinueet-testunitaire-maven-cu-cumber.pdf

  • 19
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager