IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Tests et Performance Java Discussion :

[Cucumber] étape manquante avec "Etant donné que"


Sujet :

Tests et Performance Java

  1. #1
    Membre confirmé Avatar de Kazh Du
    Homme Profil pro
    Développeur Java
    Inscrit en
    novembre 2011
    Messages
    152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : novembre 2011
    Messages : 152
    Points : 554
    Points
    554
    Par défaut [Cucumber] étape manquante avec "Etant donné que"
    Bonjour,

    Je souhaite mettre en place des tests BDD dans mon projet en utilisant Cucumber.
    Jusque là tout allait bien jusqu'à ce que j'essaie de passer en français.

    Pour faire simple, voici (en simplifié) mon fichier de test en anglais (note : pour des raison de lisibilité du code sur ce forum, les apostrophes sont remplacées) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Feature: test
     
      Scenario: mon scénario
        Given j’initialise mon test
        When j’effectue mon test
        Then j’obtiens mon résultat
    et l'implémentation de celui-ci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    public class TestStep {
    	@Given("^j'initialise mon test$")
    	public void givenInitialization() {
    		// mon code
    	}
     
    	@When("^j'effectue mon test$")
    	public void whenTest() {
    		// mon code
    	}
     
    	@Then("^j'obtiens mon résultat$")
    	public void thenGetResult() {
    		// mon code
    	}
    }
    Jusqu'ici tout va bien. Par contre en français ça donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    # language: fr
    Fonctionnalité: test
     
      Scénario: mon scénario
        Etant donné que j’initialise mon test
        Quand j’effectue mon test
        Alors j’obtiens mon résultat
    Dans ce cas, mon IDE reconnaît bien les mots clés mais à l’exécution (via mvn test) j'ai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    1 Scenarios (1 undefined, 0 passed)
    3 Steps (2 skipped, 1 undefined, 0 passed)
    0m0,082s
     
     
    You can implement missing steps with the snippets below:
     
    @Etantdonné("^que j'initialise mon test$")
    public void que_j_initialise_mon_test() throws Throwable {
        // Write code here that turns the phrase above into concrete actions
        throw new PendingException();
    }
    En retirant le "que", ça fonctionne (mais ça ne veut rien dire). En mettant le que comme indiqué en résultat du test, ça fonctionne également, mais cette fois c'est mon IDE (IntelliJ) qui ne fait plus le lien.
    La doc de Gherkin sur le site officiel de Cucumber me dit pourtant que c'est un mot clé accepté.

    Bref, je bloque. Si quelqu'un a une idée du pourquoi du comment ou un moyen pour contourner ce problème (autre qu'ignorer mon IDE, je le fais déjà et je ne suis pas fan) je suis preneur.
    Merci d'ajouter un sur les tags qui vous ont aidé

  2. #2
    Membre confirmé Avatar de Kazh Du
    Homme Profil pro
    Développeur Java
    Inscrit en
    novembre 2011
    Messages
    152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : novembre 2011
    Messages : 152
    Points : 554
    Points
    554
    Par défaut
    Au final, j'ai trouvé la solution à mon problème. Si ça intéresse quelqu'un, je n'utilisais pas les bonnes dépendances.
    Voici celles que j'utilisais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
            <dependency>
                <groupId>info.cukes</groupId>
                <artifactId>cucumber-core</artifactId>
                <version>1.2.6</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>info.cukes</groupId>
                <artifactId>cucumber-junit</artifactId>
                <version>1.2.6</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>info.cukes</groupId>
                <artifactId>cucumber-spring</artifactId>
                <version>1.2.6</version>
                <scope>test</scope>
            </dependency>
    Et ce par quoi je les ai remplacées :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
            <dependency>
                <groupId>io.cucumber</groupId>
                <artifactId>cucumber-java</artifactId>
                <version>5.3.0</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>io.cucumber</groupId>
                <artifactId>cucumber-java8</artifactId>
                <version>5.3.0</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>io.cucumber</groupId>
                <artifactId>cucumber-gherkin</artifactId>
                <version>5.3.0</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>io.cucumber</groupId>
                <artifactId>cucumber-junit</artifactId>
                <version>5.3.0</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>io.cucumber</groupId>
                <artifactId>cucumber-spring</artifactId>
                <version>5.3.0</version>
                <scope>test</scope>
            </dependency>
    Merci d'ajouter un sur les tags qui vous ont aidé

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Importation de données caractères avec quote
    Par caro92 dans le forum SAS Base
    Réponses: 3
    Dernier message: 25/11/2015, 10h59
  2. Réponses: 4
    Dernier message: 07/05/2009, 16h54
  3. Problème avec predict des données manquantes
    Par cyberboy00 dans le forum R
    Réponses: 1
    Dernier message: 11/02/2009, 09h14
  4. Réponses: 6
    Dernier message: 02/06/2007, 16h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo