AAA pattern (Arrange-Act-Assert) trong testing là gì?
AAA là cấu trúc chuẩn cho mỗi unit test, giúp test dễ đọc và maintain. Arrange (chuẩn bị): khởi tạo data, mocks, objects cần thiết — đây là phần dài nhất. Act (thực hiện): gọi function/method đang test — chỉ một dòng, test một behavior duy nhất. Assert (kiểm tra kết quả): verify output hoặc side effect.
Ví dụ: // Arrangeconst cart = new Cart(); cart.addItem({ id: 1, price: 100 });// Actconst total = cart.getTotal();// Assertexpect(total).toBe(100).
Lợi ích: phân chia rõ ràng giúp debug nhanh (Arrange sai → test data lỗi, Act sai → function không tồn tại, Assert sai → logic bug).
Nếu Act phần có nhiều dòng, đó là dấu hiệu function đang test quá nhiều trách nhiệm.
Lưu ý: expect trong Arrange (assert setup đúng) làm mờ ranh giới — chỉ assert kết quả cuối trong Assert section.
AAA tương đương Given-When-Then của BDD — cùng concept, khác naming.
Xem toàn bộ Testing cùng filter theo level & chủ đề con.