[DEPRECATED] BDD(Gherkin) 시나리오는 더 이상 위젯 테스트를 생성하지 않습니다 →
cc-flutter:bdd-testing / cc-flutter:patrol-bdd-conventions
로 이동.
⛔ BDD 위젯 테스트 패턴 — 폐지됨#
무슨 일인가요#
이 스킬은 bdd_widget_test 패키지로 Gherkin .feature 파일에서 위젯 테스트를 자동
생성하는 방법을 다뤘습니다. 지금은 BDD(Gherkin) 시나리오가 위젯 테스트를 만들지 않기로
정책이 바뀌어 이 스킬 전체가 폐지 대상입니다.
대신 이걸 보세요#
-
BDD
.feature작성·손으로 쓰는 Patrol 테스트 패턴: cc-flutter:bdd-testing — Gherkin 시나리오는 이제 코드 생성기 없이, 손으로 쓰는 Patrol E2E 테스트로만 검증됩니다. - Patrol E2E 컨벤션(위치·태그·CI·안티패턴 가드): cc-flutter:patrol-bdd-conventions
-
BDD와 무관한 일반 위젯 테스트(직접
testWidgets, 골든, BLoC 위젯 테스트): cc-flutter:widget-testing — 이번 변경과 무관하게 그대로 유지됩니다.
마이그레이션이 필요하다면#
기존 feature 패키지에 test/src/bdd/{name}.feature + hooks/hooks.dart + 생성된
{name}_test.dart/*.widget_test.dart/*.patrol_test.dart
스캐폴드와 build.yaml 의
bdd_widget_test|featureBuilder 또는 bdd_test_gen/co_test_gen(|dual_test_gen) 블록이
남아 있다면 — feature 패키지에는 BDD 관련 파일이 하나도 남으면 안 됩니다:
.feature의 시나리오를app/{app}/integration_test/features/{name}.feature로 옮깁니다.-
Mock BLoC 기반 step을 canonical shared_step(또는 도메인 특화 TestDriver step)으로 다시 써서
app/{app}/integration_test/scenarios/에 손으로 Patrol 테스트를 작성합니다(코드 생성기 없음 —.feature의 Scenario/step 이름을 그대로 옮겨 적습니다). -
위젯 단위 검증이 있었다면, feature 패키지 안에 통상적
testWidgets위젯 테스트로 별도 작성합니다 — BDD 시나리오에서 파생시키지 않습니다. -
build.yaml에서 builder 블록을 지우고,test/src/bdd/디렉토리 전체(hooks/·생성된_test.dart포함)를 삭제합니다.
왜 바뀌었나요#
BDD로 적은 "이렇게 하면 이렇게 된다" 시나리오는 실제 사용자 흐름을 검증하는 것이 목적인데, Mock 백엔드 기반 위젯 테스트는 실제 서버·네비게이션·네이티브 동작을 검증하지 못해 시나리오의 의도를 온전히 담지 못한다는 판단입니다. 빠르고 결정적인 검사가 필요한 자리는 애초에 BDD가 아니라 (Gherkin과 무관한) 일반 위젯 테스트의 몫입니다.