Tôi có một máy chủ CI (Hudson) vui vẻ xây dựng, chạy thử nghiệm đơn vị và triển khai cho môi trường phát triển nhưng bây giờ tôi muốn cho nó chạy thử nghiệm tích hợp.
Các bài kiểm tra tích hợp sẽ đánh vào cơ sở dữ liệu và cơ sở dữ liệu đó sẽ liên tục được thay đổi để chứa dữ liệu liên quan đến bài kiểm tra được đề cập. Tuy nhiên, điều này dẫn đến một vấn đề - làm cách nào để đảm bảo cơ sở dữ liệu không bị văng dữ liệu cho một thử nghiệm và sau đó dữ liệu đó được ghi đè bởi một dự án thứ hai trước khi bộ thử nghiệm đầu tiên hoàn thành?
Tôi hiện đang sử dụng phương pháp "hy vọng", hiện không hoạt động quá tệ, nhưng chủ yếu là do chúng tôi chỉ có một số lượng nhỏ các thử nghiệm tích hợp được thiết lập trên CI.
Như tôi thấy, tôi có các tùy chọn sau:
- Các cơ sở dữ liệu kiểm tra cục bộ (trong bộ nhớ)
Tôi không chắc liệu có bất kỳ cơ sở dữ liệu trong bộ nhớ nào xử lý tất cả sự đáng sợ của các trình kích hoạt và gói Oracles hay không, và bất cứ điều gì tôi không cảm thấy sẽ đáng giá trong khi kiểm tra. - CI Executor-local cơ sở dữ liệu
Cần có một lượng công việc lớn để thiết lập và cập nhật chúng, nhưng chắc chắn là một tùy chọn (hầu hết các công việc đã được thực hiện để cập nhật cơ sở dữ liệu CI hiện tại). - Người thực hiện "kiểm thử tích hợp" có
thể dễ thực hiện nhất, nhưng sẽ có nghĩa là các kiểm thử tích hợp có thể bị tụt lại khá xa. - Khóa cơ sở dữ liệu (hoặc bộ bảng)
Tôi chắc chắn tôi đã bỏ lỡ một số cách (vui lòng thêm chúng). Làm thế nào để bạn chạy thử nghiệm tích hợp dựa trên cơ sở dữ liệu trên máy chủ CI? Những vấn đề bạn đã có và phương pháp nào bạn đề nghị? (Lưu ý: Trong khi tôi sử dụng Hudson, tôi rất vui khi chấp nhận câu trả lời cho bất kỳ máy chủ CI nào, những ý tưởng tôi chắc chắn sẽ có thể mang theo được, ngay cả khi các chi tiết không có).
Chúc mừng,
Mlk