Mặc dù tôi chưa từng tham gia dự án TDD hoặc BDD, hoặc tôi đã từng nói rằng họ đang làm TDD nhưng cách đó khá xa, đây là những điều tôi nghĩ và thực sự cố gắng đọc nhiều nhất có thể trong khoảng.
Quay lại câu hỏi. Khi bạn đang thực hiện BDD, bạn nên viết "bài kiểm tra" của mình trước và làm cho nó thất bại, phải không? Và sau đó thực hiện tính năng đó hoặc những gì bạn gọi nó. Nhưng nếu bạn thực hiện điều này đến cùng cực thì đây có thể là một kiểu phát triển từ trên xuống không? Bạn đang nhìn vào UI của bạn và nói, "Tôi muốn có tính năng / hành vi này ở đây". Sau đó, bạn sửa UI của mình để thực hiện tính năng đó và mã hỗ trợ UI. Tại thời điểm này, bạn chưa thực hiện bất kỳ logic kinh doanh hoặc logic truy cập dữ liệu nào, bạn vừa thực hiện hành vi của mình. Những gì tôi đang nhắm đến thay vì viết bài kiểm tra trước tiên bạn viết mã UI của bạn trước. Trong một số trường hợp, nó sẽ dẫn đến cùng một mã cho lớp truy cập dữ liệu và lớp doanh nghiệp, vì bạn sử dụng mã UI để xác định những gì doanh nghiệp của bạn cần hỗ trợ.
Tất nhiên, bạn nên bổ sung điều này bằng các thử nghiệm được sử dụng để đảm bảo rằng tính năng này hoạt động như trong tính năng.
Có suy nghĩ gì không?
main
. Trong bình luận từ trên xuống của bạn, bạn đang nói về các bài kiểm tra chức năng, thực thi toàn bộ chương trình dù chỉ là mộtmain
.