Prise en charge de concombre Java 8
1. Vue d'ensemble
Dans ce rapide didacticiel, nous allons apprendre à utiliser les expressions lambda Java 8 avec Cucumber.
2. Configuration Maven
Tout d'abord, nous devrons ajouter la dépendance suivante à nospom.xml:
info.cukes
cucumber-java8
1.2.5
test
La dépendancecucumber-java8 peut être trouvée surMaven Central.
3. Définitions d'étape utilisant Lambda
Nous verrons ensuite comment écrire nos définitions d’étape à l’aide des expressions lambda Java 8:
public class ShoppingStepsDef implements En {
private int budget = 0;
public ShoppingStepsDef() {
Given("I have (\\d+) in my wallet", (Integer money) -> budget = money);
When("I buy .* with (\\d+)", (Integer price) -> budget -= price);
Then("I should have (\\d+) in my wallet", (Integer finalBudget) ->
assertEquals(budget, finalBudget.intValue()));
}
}
Nous avons utilisé une fonction d'achat simple comme exemple:
Given("I have (\\d+) in my wallet", (Integer money) -> budget = money);
Remarquez comment:
-
Dans cette étape, nous définissons le budget initial, nous avons un paramètremoney de typeInteger
-
Comme nous utilisons une instruction, nous n'avons pas besoin d'accolades
4. Scénario de test
Enfin, jetons un œil à nos scénarios de test:
Feature: Shopping
Scenario: Track my budget
Given I have 100 in my wallet
When I buy milk with 10
Then I should have 90 in my wallet
Scenario: Track my budget
Given I have 200 in my wallet
When I buy rice with 20
Then I should have 180 in my wallet
Et la configuration de test:
@RunWith(Cucumber.class)
@CucumberOptions(features = { "classpath:features/shopping.feature" })
public class ShoppingIntegrationTest {
//
}
Pour plus de détails sur la configuration du concombre, consultez le didacticielCucumber and Scenario Outline.
5. Conclusion
Nous avons appris à utiliser les expressions Java 8 lambda avec Cucumber.
Comme toujours, le code source complet est disponibleover on GitHub.