Các khái niệm cơ bản trong Behat testing BDD

Khi có kinh nghiệm về Behat chắc bạn cũng đã viết rất nhiều Kịch bản (Scenario) khác nhau. Nhưng đối với những người mới bắt đầu như mình thì hiểu rõ nó là gì là một việc quan trọng. Hãy bắt đầu!

Given, When and Then

Cấu trúc một Scenario thường có 3 phần tương ứng là Setup, User Action và cuối cùng là User Expectations.

Scenario trên mô tả một story đơn giản mà ứng dụng nào cũng có, đó là login với username nào đó, vào trang home và thấy được link Logout.

Tiếp tục để hiểu rõ thêm về các khái niệm, mình sẽ đi vào chi tiết từng phần.

Given: Setup

Phần đầu tiên của Scenario cho phép bạn tạo các cài đặt trước khi User Story bắt đầu Given, các hành động chính thường là I am on the - Đang ở trang nào, store has default configuration - Cài đặt các config hoặc data mặc định, I am creating - Tạo đối tượng data đơn giản.

When: User Action

Phần quan trọng thứ hai của bất cứ Scenario nào đó là User Action, When mô tả khi một hành động nào đó từ User bao gồm I press - Nhấn một link hay button, I click- User Click, I fill in the following- Điền thông tin, I visit - Đi đến trang nào.

Then: User Expectations

Phần cuối cùng là Then cái mà bạn mong muốn sau khi hành động When, các hành động thường thấy là I should see, I should be on the page, I should not see

Scenario Outline

Testing trong thực tế, việc thay đổi giá trị để kiểm tra việc tính toán là điều thường thấy, vì vậy không tránh khỏi việc copy paste như ví dụ bên dưới:

Behat hỗ trợ khái niệm là Scenario Outline, cung cấp một template ví dụ để load động các ví dụ, tránh việc lặp lại các scenario.

Background

Background cho phép bạn thực hiện thêm một số context và tất các các Scenarios trong một Feature. Background chạy trước các scenario làm nhiệm vụ chính là cài đặt.