TDD cho người giả
Trong sự nghiệp của mình với tư cách là Nhà phát triển phần mềm, cho đến gần đây, tôi chưa bao giờ quan tâm đến các bài kiểm tra, bởi vì tôi không hiểu giá trị thực của chúng . Sau một thời gian nghiên cứu, tìm hiểu và làm bằng chứng về khái niệm, bây giờ tôi có thể viết về các bài kiểm tra và lý do tại sao nên sử dụng TDD trong thói quen lập trình hàng ngày của bạn .
Đầu tiên, TDD là gì?
Không, đây không phải là mẫu thử nghiệm, TDD là từ viết tắt của Test Driven Development và hoạt động theo chu kỳ:
Nguồn: Impact QA
- Bước đầu tiên, bạn sẽ tạo một bài kiểm tra đơn vị không thành công, vâng, thất bại ! bởi vì bài kiểm tra của bạn luôn đến trước lớp sản xuất của bạn. Một thử nghiệm tốt đầu tiên mà tôi luôn sử dụng là đảm bảo rằng lớp hoặc hàm của tôi được gọi với các giá trị chính xác.
- Bước thứ hai, trong lớp sản xuất của bạn, chỉ viết mã cần thiết để vượt qua bài kiểm tra của bạn , hãy kiên nhẫn, nó sẽ có giá trị.
- Bước thứ ba và cũng là bước cuối cùng, thời gian tái cấu trúc ! bây giờ bạn sẽ tạo mã tốt nhất có thể cho lớp sản xuất, sử dụng các mẫu ưa thích của bạn và nhận mã nhanh nhất có thể.
Ý tưởng của các chu trình này là phân loại hành vi của các lớp của bạn một cách đơn nhất, để luôn đảm bảo rằng mã của bạn sẽ làm những gì bạn muốn mà không gặp sự cố lớn. Đôi khi bạn có thể quên kiểm tra một lỗi hoặc tính năng, nhưng với ba bước đơn giản, bạn có thể giải quyết vấn đề đó ( BẮT ĐẦU KIỂM TRA NGAY BÂY GIỜ ).
Ưu điểm của việc sử dụng TDD
- Tránh viết mã phức tạp, bạn có luôn nghĩ về những gì bạn cần làm trước khi thực hiện hay bạn không muốn biết mình đang làm gì trước khi thực hiện?
- Tái cấu trúc mã mọi lúc;
- Bảo hiểm đầy đủ các lớp của bạn, bạn sẽ luôn có thông tin về cách mã của bạn đang hoạt động và liệu nó có vượt qua tất cả các bài kiểm tra hay không;
- Đơn giản hóa việc xóa tệp và giúp thay đổi mã khi cần;
- Tránh làm lại theo nhiều cách
- Không, thời gian thêm để thử nghiệm sẽ giúp bạn tiết kiệm rất nhiều công việc.
- Jest , hoạt động với JavaScript:
- JUnit , hoạt động với Java:
- Pytest , hoạt động với Python:
- PHPUnit , hoạt động với PHP:
- XUnit , hoạt động với . NET Framework:
Cảm ơn đã đọc, hẹn gặp lại sau! Bất kì lời đề nghị nào?

![Dù sao thì một danh sách được liên kết là gì? [Phần 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































