Điều này trả lời tại sao bạn nên làm thử nghiệm đơn vị.
3 video dưới đây bao gồm kiểm tra đơn vị trong javascript nhưng các nguyên tắc chung áp dụng trên hầu hết các ngôn ngữ.
Kiểm tra đơn vị: Phút ngay bây giờ sẽ tiết kiệm giờ sau - Eric Mann - https://www.youtube.com/watch?v=_UmmaPe8Bzc
Kiểm tra đơn vị JS (rất tốt) - https://www.youtube.com/watch?v=-IYqgx8JxlU
Viết JavaScript có thể kiểm tra - https://www.youtube.com/watch?v=OzjogCFO4Zo
Bây giờ tôi chỉ tìm hiểu về chủ đề này nên tôi có thể không đúng 100% và có nhiều điều hơn so với những gì tôi mô tả ở đây nhưng hiểu biết cơ bản của tôi về kiểm tra đơn vị là bạn viết một số mã kiểm tra (được tách biệt với bạn mã chính) gọi một hàm trong mã chính của bạn bằng đầu vào (đối số) mà hàm yêu cầu và sau đó mã sẽ kiểm tra xem nó có nhận được giá trị trả về hợp lệ không. Nếu nó lấy lại giá trị hợp lệ, khung kiểm tra đơn vị mà bạn đang sử dụng để chạy thử nghiệm sẽ hiển thị đèn xanh (tất cả đều tốt) nếu giá trị không hợp lệ, bạn sẽ có đèn đỏ và sau đó bạn có thể khắc phục sự cố ngay trước khi bạn phát hành mã mới để sản xuất, mà không cần kiểm tra, bạn thực sự có thể không bắt lỗi.
Vì vậy, bạn viết các bài kiểm tra cho bạn mã hiện tại và tạo mã để nó vượt qua bài kiểm tra. Nhiều tháng sau, bạn hoặc người khác cần sửa đổi hàm trong mã chính của bạn, bởi vì trước đó bạn đã viết mã kiểm tra cho hàm đó, bây giờ bạn chạy lại và kiểm tra có thể thất bại vì bộ mã hóa đã đưa ra lỗi logic trong hàm hoặc trả về một cái gì đó hoàn toàn khác với những gì chức năng được cho là trả lại. Một lần nữa, không có kiểm tra tại chỗ, lỗi có thể khó theo dõi vì nó cũng có thể ảnh hưởng đến các mã khác và sẽ không được chú ý.
Ngoài ra, thực tế là bạn có một chương trình máy tính chạy qua mã của bạn và kiểm tra nó thay vì bạn tự làm nó trong trang trình duyệt theo trang giúp tiết kiệm thời gian (kiểm tra đơn vị cho javascript). Giả sử bạn sửa đổi một chức năng được sử dụng bởi một số tập lệnh trên trang web và nó hoạt động tốt và tốt cho mục đích mới của nó. Tuy nhiên, chúng ta cũng nói đối với các đối số vì có một chức năng khác mà bạn có ở một nơi khác trong mã của bạn phụ thuộc vào chức năng mới được sửa đổi đó để nó hoạt động đúng. Chức năng phụ thuộc này hiện có thể ngừng hoạt động do những thay đổi bạn đã thực hiện cho chức năng đầu tiên, tuy nhiên không có kiểm tra tại chỗ được chạy tự động bởi máy tính của bạn, bạn sẽ không nhận thấy rằng có vấn đề với chức năng đó cho đến khi nó thực sự được thực thi và bạn'
Để nhắc lại, có các bài kiểm tra được chạy trong khi phát triển ứng dụng của bạn sẽ gặp các loại vấn đề này khi bạn đang mã hóa. Không có các bài kiểm tra tại chỗ, bạn phải tự kiểm tra toàn bộ ứng dụng của mình và thậm chí sau đó có thể khó phát hiện ra lỗi, bạn ngây thơ gửi nó vào sản xuất và sau một thời gian, một người dùng tốt bụng sẽ gửi cho bạn một báo cáo lỗi (mà sẽ không tốt như thông báo lỗi của bạn trong khung kiểm tra).
Thật khó hiểu khi lần đầu tiên bạn nghe về chủ đề này và bạn tự nghĩ, có phải tôi chưa kiểm tra mã của mình? Và mã mà bạn đã viết đang hoạt động giống như được cho là đã có, "tại sao tôi cần một khung công tác khác?" ... Có bạn đang kiểm tra mã của mình nhưng máy tính sẽ hoạt động tốt hơn. Bạn chỉ cần viết các bài kiểm tra đủ tốt cho một chức năng / đơn vị mã một lần và phần còn lại được chăm sóc cho bạn bởi cpu hùng mạnh thay vì bạn phải kiểm tra thủ công rằng tất cả mã của bạn vẫn hoạt động khi bạn thay đổi ma cua ban.
Ngoài ra, bạn không phải kiểm tra đơn vị mã của mình nếu bạn không muốn nhưng nó sẽ thành công khi dự án / cơ sở mã của bạn bắt đầu phát triển lớn hơn khi cơ hội giới thiệu lỗi tăng lên.