ไวยากรณ์และฟีเจอร์ของ Gherkin
เรียนรู้การกำหนดฟีเจอร์ สถานการณ์ และขั้นตอน Given-When-Then ด้วยไวยากรณ์ Gherkin ที่มนุษย์อ่านเข้าใจได้
ไวยากรณ์และฟีเจอร์ของ Gherkin เป็นบทเรียน Testing Mastery: JUnit, Mockito & Integration Tests ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Testing Mastery: JUnit, Mockito & Integration Tests และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Testing Mastery: JUnit, Mockito & Integration Tests มีบทเรียนทั้งหมด 4 บทเรียน
บางส่วนของบทเรียนนี้ยังไม่ได้รับการแปล และแสดงเป็นภาษาอังกฤษ
Gherkin: Plain Language Tests
Gherkin is a plain-language parser used by Behavior-Driven Development (BDD) tools like Cucumber. It helps describe software behavior in a human-readable format.
This makes it easier for everyone—developers, testers, and business stakeholders—to understand and agree on what the software should do. Gherkin uses a specific set of keywords to structure these descriptions.
Defining a Feature
The Feature keyword is the starting point of any Gherkin document. It describes a high-level capability or a specific area of the application.
- Think of it as the main goal or business requirement you are testing.
- It should have a clear, concise title.
- An optional description can follow, providing more context.
- Each
.featurefile typically contains oneFeature.
Feature Example in Action
Here’s how you define a Feature. Notice the optional description lines that add clarity, explaining the 'who', 'what', and 'why'.
Feature: User Login Functionality
As a registered user
I want to log in to my account
So that I can access personalized content.Describing Scenarios
Within a Feature, individual test cases are called Scenarios. A Scenario describes a single, concrete example of behavior.
For repetitive tests with different data, Scenario Outline is used. It runs the same steps multiple times, substituting values from an Examples table (which we'll cover in future lessons).
A Simple Scenario
A Scenario typically follows the "Given-When-Then" structure. It's a specific example of how the feature behaves under certain conditions.
Feature: User Login Functionality
Scenario: Successful login with valid credentials
Given the user is on the login page
When the user enters "john@example.com" and "password123"
And clicks the "Login" button
Then the user should be redirected to the dashboard
And a welcome message "Welcome, John!" should be displayedSetting the Stage with `Given`
The Given keyword is used to describe the initial state or context of the system. It sets up the prerequisites for the scenario.
- Think of it as the "precondition" for your test.
- It should describe something that has already happened.
- Example:
Given the user is logged inorGiven a product exists with price $10.
The Action with `When`
The When keyword describes the action or event that triggers the behavior under test. This is typically an interaction by the user or an external system.
- It's the "trigger" for the behavior.
- It should describe a single, observable action.
- Example:
When the user clicks the "Add to Cart" buttonorWhen the payment is processed.
Verifying Outcome with `Then`
The Then keyword describes the expected outcome or result after the When action. It's how you verify the system's behavior.
- This is the "assertion" part of your test.
- It should describe an observable change in the system.
- Example:
Then the item should be added to the cartorThen the order status should be "Completed".
Full Gherkin Scenario
Here's a complete Scenario showing Given, When, and Then working together. Notice how And can be used to extend any step for better readability.
Feature: Shopping Cart Management
Scenario: Add item to empty cart
Given the user is on the product page for "Laptop X"
And the shopping cart is empty
When the user clicks "Add to Cart"
Then the shopping cart should contain "Laptop X"
And the cart total should be $1200.00Ordering Gherkin Steps
In Gherkin, steps follow a logical flow to describe a behavior. Arrange the keywords in the correct order for a typical scenario.
Gherkin Syntax Summary
You've learned the core elements of Gherkin syntax!
Featuredefines a high-level capability.Scenariodescribes a single example of behavior.Givensets the initial context.Whendescribes the action or event.Thenverifies the expected outcome.AndandButare used to extend steps for readability.
This human-readable language bridges the gap between technical and non-technical team members, ensuring everyone understands the desired system behavior.
คำถามที่พบบ่อย
บทเรียน “ไวยากรณ์และฟีเจอร์ของ Gherkin” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “ไวยากรณ์และฟีเจอร์ของ Gherkin” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Testing Mastery: JUnit, Mockito & Integration Tests ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Testing Mastery: JUnit, Mockito & Integration Tests มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “ไวยากรณ์และฟีเจอร์ของ Gherkin”
เรียนรู้การกำหนดฟีเจอร์ สถานการณ์ และขั้นตอน Given-When-Then ด้วยไวยากรณ์ Gherkin ที่มนุษย์อ่านเข้าใจได้ คุณปฏิบัติ Testing Mastery: JUnit, Mockito & Integration Tests ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Testing Mastery: JUnit, Mockito & Integration Tests หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Testing Mastery: JUnit, Mockito & Integration Tests บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน
บทเรียน “ไวยากรณ์และฟีเจอร์ของ Gherkin” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Testing Mastery: JUnit, Mockito & Integration Tests นี้ได้ไหม
ได้ บทเรียน Testing Mastery: JUnit, Mockito & Integration Tests ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- บทนำสู่ BDD
- ไวยากรณ์และฟีเจอร์ของ Gherkin
- การใช้งานคำจำกัดความของขั้นตอน
- โครงร่างสถานการณ์และตารางข้อมูล