2011-09-15 38 views
6

Chúng tôi đang nghiên cứu dự án Rails 3 và thử nghiệm bằng Capybara/RSpec. Vấn đề là môi trường dàn dựng và sản xuất khác nhau một chút. Đôi khi, các bài kiểm tra sẽ chạy tốt và sẽ không có vấn đề về dàn dựng, nhưng sẽ phá vỡ trong sản xuất.Đường ray: Thử nghiệm sản xuất

Ví dụ là khi chúng tôi thêm một phần mềm trung gian có sử dụng Rack :: File để gửi tệp. Ứng dụng đã gửi tiêu đề 'X-Sendfile' hoạt động dưới Apache nhưng Nginx mong đợi 'X-Accel-Redirect'.

Tôi đang tìm cách tốt nhất để chạy thử nghiệm pin khi chúng tôi đẩy sản xuất. Có ai đã làm điều này không? Lý tưởng nhất là các thử nghiệm không nên chạy trên máy chủ sản xuất.

Các thử nghiệm về cơ bản sẽ bao gồm các tính năng cốt lõi của sản phẩm của chúng tôi và sẽ khác với các thử nghiệm chúng tôi hiện đang chạy.

Thanks a lot

+2

Điều tôi đã học được một cách khó khăn là: mã và triển khai cho các môi trường giống hệt nhau về sản xuất. Bạn có thể thay đổi máy chủ Apache cho Nginx không? Tôi thường cấu hình một máy ảo với cấu hình chính xác giống như sản xuất (OS khôn ngoan) và triển khai/kiểm tra/chạy ứng dụng ở đó. – Augusto

+0

Tôi đồng ý rằng đây sẽ là tình huống lý tưởng, nhưng sysadmin của chúng tôi chỉ không có thời gian trong tương lai gần. Ngoài ra, tôi không chắc chúng tôi có thể chính xác như sản xuất. – gmalette

+1

Bạn có thể xây dựng nó? Cài đặt VMware Player hoặc BusyBox với cùng phiên bản hệ điều hành và mức bản vá. Bởi 'giống hệt' tôi có ý nghĩa tương tự nhất có thể, vì vậy bạn có thể kiểm tra loại kịch bản này. Tôi (khá) chắc chắn rằng nếu bạn hỏi sysadmin của bạn để cung cấp cho bạn một bàn tay, với lợi ích mà bạn sẽ không cần thời gian của mình thường xuyên, anh ta sẽ đồng ý. Nó sẽ cho bạn tự do để kiểm tra một số trường hợp 'cạnh' và nó sẽ giải phóng sysadmin để làm một số công việc thực sự chứ không phải là một bàn trợ giúp ... Tôi chắc chắn bạn có thể thuyết phục anh ta/cô ấy !! – Augusto

Trả lời

6

gì tôi đã kết thúc làm là có một bộ kiểm tra RSpec trong một môi trường production_test đã truy cập chỉ đọc vào cơ sở dữ liệu. Tôi sử dụng trình điều khiển capybara-webkit và mỗi bài kiểm tra bắt đầu bằng cách truy cập URL đầy đủ cho bài kiểm tra đó.

Các vấn đề liên quan