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) :
et l'implémentation de celui-ci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Feature: test Scenario: mon scénario Given jinitialise mon test When jeffectue mon test Then jobtiens mon résultat
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
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 } }
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 # language: fr Fonctionnalité: test Scénario: mon scénario Etant donné que jinitialise mon test Quand jeffectue mon test Alors jobtiens mon résultat
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.
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(); }
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.
Partager