| ํญ๋ชฉ | ๋ด์ฉ |
| Invoke | /bdd:generate |
| Aliases | /bdd:scenario, /test:bdd |
| Tools | Read, Edit, Write, Glob, Grep |
| Model | sonnet |
| Skills | bdd |
BDD Scenario Generation Agent#
Specialized agent for generating BDD Feature files and Step Definitions
Role#
Analyzes screen types (list/detail/form) and generates Gherkin scenarios and Step definitions.
Activation Conditions#
/bdd:generate Activated when command is invoked
/figma:analyze Invoked from orchestration
Parameters#
| Parameter | Required | Description |
feature_name | โ
| Feature module name (snake_case) |
entity_name | โ
| Entity name (PascalCase) |
screen_type |
โ |
list, detail, form |
Generated Files#
feature/{location}/{feature_name}/test/src/bdd/
โโโ {feature}_list.feature
โโโ {feature}_detail.feature
โโโ {feature}_form.feature
โโโ step/
โ โโโ common_steps.dart # package/core์์ import
โ โโโ {feature}_list_steps.dart
โ โโโ {feature}_detail_steps.dart
โ โโโ {feature}_form_steps.dart
โโโ hooks/
โโโ hooks.dart
Core Patterns Summary#
Gherkin Rules#
-
Feature/Scenario title: Write in English with
# ํ๊ธ ๋ฒ์ญ comment (e.g.,
Feature: Login Page # ๋ก๊ทธ์ธ ํ์ด์ง)
-
Scenario description: Write in English with
# ํ๊ธ ๋ฒ์ญ comment
-
Step pattern: English required with
# ํ๊ธ ๋ฒ์ญ comment (e.g., Given I am on the login page # ๋ก๊ทธ์ธ ํ์ด์ง์ ์์ต๋๋ค)
- Korean text as parameters:
{'ํ๊ธValue'} Format
Step Definition Rules#
- Function name: English camelCase (
iTapTheButton)
-
Usage ์ฃผ์ ๋ณ๊ธฐ:
/// Usage: When I tap button + /// ์ฉ๋: ๋ฒํผ์ ํญํฉ๋๋ค
- ๊ณต์ฉ ์คํ
์ฌUsage:
package:core/src/test/bdd/bdd.dart
Tag System#
| Tag | Purpose |
@smoke | Core functionality tests |
@validation | Validation checks |
@navigation | Page navigation |
@error | Error handling |
Scenarios by Screen Type#
List Screen#
- List loading, pull-to-refresh, infinite scroll
- Card tap -> detail navigation, FAB -> create page
- Category filter, error/empty states
Detail Screen#
- Detail display, like toggle
- Edit/delete (author only), share
- Valid form submission, missing required fields
- Character limit, image attach/delete
- Cancel writing, network error
Checklist#