Trước tiên hãy trả lời câu hỏi của bạn: Có, chúng chắc chắn là một phần của Tích hợp liên tục nếu bạn hỏi tôi. Nhưng tôi nghĩ chúng ta cần làm rõ các bài kiểm tra tích hợp là gì.
Martin Fowler đã nói về việc giao hàng liên tục như một cách để tự động hóa quá trình xây dựng hoàn chỉnh để triển khai nhanh chóng. Điều này đòi hỏi các nhà phát triển phải nhận được phản hồi nhanh chóng được cung cấp bởi quá trình Tích hợp liên tục. Vì vậy, ông xác định các giai đoạn mà bản dựng phải trải qua :
- một bản dựng
- kiểm tra kỹ lưỡng
- triển khai
Việc xây dựng cam kết không nên mất nhiều hơn 10 phút mà anh tuyên bố, vì phản hồi nhanh chóng cho các nhà phát triển.
Đây là cách tôi nhìn thấy mọi thứ: Trong bước đầu tiên, hãy lấy cam kết mới nhất và xây dựng nó. Nếu điều này thành công, bạn chạy thử nghiệm đơn vị của mình để tìm hiểu xem các lớp / nhóm lớp của bạn có hoạt động như được xác định và dự kiến hay không.
Khi điều này thành công, bạn có được phần kiểm tra tích hợp. Ở đây bạn kiểm tra sự tương tác của các đơn vị vừa được thử nghiệm thành công. Điều này liên quan đến việc cung cấp cho các đơn vị với đầu vào và xem trạng thái / tương tác / đầu ra của chúng. Hãy nhớ rằng chúng tôi vẫn đang trong bản dựng cam kết, vì vậy chúng tôi muốn điều này cũng nhanh chóng. Vì vậy, các tương tác với hệ thống tệp, cơ sở dữ liệu, các mạng ngang hàng và tương tự phải được đặt ra để thực hiện nhanh chóng. Martin Fowler cũng gợi ý việc sử dụng cơ sở dữ liệu trong bộ nhớ nếu bạn yêu cầu chúng, chỉ để tiếp tục thực hiện trên máy chủ CI.
Sau khi bạn chắc chắn rằng các đơn vị đang hoạt động và tương tác theo yêu cầu, bạn thường muốn tìm hiểu về phạm vi kiểm tra (chỉ kiểm tra một hệ thống con nhỏ thường không đủ) và cung cấp các tạo phẩm được kiểm tra để thử nghiệm chức năng / QA / triển khai ( đọc: kiểm tra kỹ lưỡng) nếu bạn nghĩ rằng bạn kiểm tra đủ chương trình của bạn. Ngay sau đó, bạn cung cấp một môi trường thử nghiệm phản ánh môi trường sản xuất mà bạn đang nhắm mục tiêu và chạy thử nghiệm liên quan đến cơ sở dữ liệu thực, tệp thực, các mạng ngang hàng thực, v.v.
Cuối cùng, kiểm tra tích hợp là về thay đổi mã. Bạn muốn chắc chắn rằng những thay đổi bạn đã thực hiện không phá vỡ hệ thống hiện tại, nghĩa là chúng tích hợp tốt. Để tìm hiểu xem họ có phải không, bạn cần đảm bảo rằng họ cư xử chính xác với chính họ, sau đó nếu họ tương tác chính xác với các phụ thuộc của họ và nếu họ đã được kiểm tra. Bạn có thể yên tâm tự tin về hệ thống của mình sau khi bạn vượt qua tất cả các bài kiểm tra đó.
Nếu các giai đoạn sau tìm thấy bất kỳ vấn đề nào với chương trình của bạn (như khi cơ sở dữ liệu của bạn trả về một giá trị nhất định, kết nối mạng của bạn sẽ tạm dừng), bạn nên thử đưa các thử nghiệm này ra khỏi các thử nghiệm tích hợp. Bản dựng cam kết rất có thể nhanh hơn QA;)