Im phát triển với Grails. Kể từ khi khuôn khổ sẽ bootstrap dữ liệu và một bối cảnh mùa xuân đầy đủ flushed ra, tôi thấy rằng tôi viết rất nhiều bài kiểm tra tích hợp cho các dịch vụ. Hãy để tôi nói lại rằng: Tôi thấy tôi viết không có bài kiểm tra đơn vị cho các dịch vụ, chỉ thử nghiệm tích hợp. Đây có phải là một ý tưởng tồi không? Nhược điểm duy nhất tôi thấy là các thử nghiệm của tôi mất nhiều thời gian hơn để chạy.Tích hợp vs Thử nghiệm Đơn vị
Tôi sử dụng thử nghiệm đơn vị trên bộ điều khiển, như trong bộ điều khiển tôi đang thử nghiệm các luồng ứng dụng khác nhau, loại kết quả, logic chuyển hướng, v.v. Điều này có vẻ là một sự phá vỡ từ các thử nghiệm J2EE truyền thống, nơi mà hầu hết các bài kiểm tra đơn vị được viết.
chỉnh sửa rõ ràng, Im không viết các bài kiểm tra tích hợp vì mã quá phức tạp chỉ các bài kiểm tra tích hợp sẽ thực hiện. Im viết bài kiểm tra tích hợp bởi vì nó dễ dàng hơn để kiểm tra tất cả mọi thứ với nhau, kể từ khi khuôn khổ cung cấp cho bạn rất nhiều. Tôi làm một số điều nhất định, như thể một dịch vụ hợp tác với acegi authenticationService, tôi giả sử điều đó. Tôi cũng thử bất cứ lúc nào chúng ta tương tác với một webservice, bởi vì bạn phải để có được một thử nghiệm chạy mà không cần thiết lập đặc biệt.
Kiểm tra tích hợp có thể dễ vỡ hơn kiểm tra đơn vị. Nếu bạn thấy mình viết hầu hết các bài kiểm tra tích hợp, hãy xem xét tái cấu trúc dự án của bạn để nó có thể được kiểm tra đơn vị dễ dàng hơn. Nếu mã của bạn được viết sao cho nó có thể kiểm tra được, bạn có thể thấy rằng các bài kiểm tra đơn vị dễ viết hơn các bài kiểm tra tích hợp, và ổn định hơn (ít apt để phá vỡ). Kiểm thử tích hợp là tốt để kiểm tra tương tác giữa các thành phần hệ thống, nhưng chúng không phải lúc nào cũng cung cấp mức độ bao phủ mã đầy đủ, vì vậy chúng không thay thế cho các kiểm thử đơn vị. –