Có gì mới
Yadda là một BDD library cho JavaScript. Nó giống Cucumber ở chỗ map specification viết bằng ngôn ngữ tự nhiên sang code có thể chạy, nhưng ít ép format hơn. Yadda 3.0 là một đợt modernize lớn cho ecosystem hiện tại.
Các thay đổi chính:
- Chỉ còn Node, bỏ browser bundling.
- Gỡ các tích hợp cũ như CasperJS, PhantomJS, Bower và Component.
- Chuyển test suite sang
node:test. - Dùng Biome và lefthook.
- Modernize source sang ES6.
- Thêm ví dụ Playwright và Puppeteer.
- Ship TypeScript definitions.
Claude Code đã làm phần lớn việc
Tác giả dùng Claude Code với Opus 4.8 để modernize Yadda. Epic được chia thành nhiều phase: bỏ chức năng cũ, cập nhật toolchain, tách formatting khỏi thay đổi hành vi, modernize source, xem xét API change, cập nhật example và CI, rồi hoàn thiện metadata, docs và TypeScript definitions.
Chi tiết đáng học là constraint. Tác giả không yêu cầu Claude sửa production code và test tương ứng trong cùng một bước. Nếu agent được phép đổi cả implementation lẫn định nghĩa đúng sai, test xanh yếu đi rất nhiều. Khi test suite hiện hữu đứng ngoài làm oracle, agent có đường ray rõ hơn.
Vì sao BDD đáng đọc lại trong thời agent
BDD luôn có phí ban đầu: phải nghĩ về ngôn ngữ domain, viết step tái sử dụng được, và tránh biến specification thành script procedural bằng tiếng Anh. AI làm phần gõ rẻ hơn, nhưng không làm mất nhu cầu kiểm tra ngôn ngữ và hành vi.
Trong workflow agent, executable spec có vai trò hơn wiki. Wiki nói hệ thống nên làm gì; spec chạy được cho biết hệ thống có đang làm điều đó không. Implementation agent dùng spec để hiểu behavior, testing agent dùng nó để chọn điều cần verify, review agent dùng nó để phản biện patch, và CI dùng nó để kiểm tra liên tục.
Ý nghĩa với Dev
Nếu team đang để agent implement issue mơ hồ, hãy đầu tư vào artifact có thể kiểm chứng: feature spec, acceptance test, contract test hoặc một lớp BDD đủ nhẹ. Natural language cho agent context giàu hơn, còn executable step giữ context đó không trôi khỏi behavior thật. Đây là phần biến “AI viết code nhanh” thành “team vẫn sở hữu được code”.