Một vấn đề tôi nghĩ rằng tôi sẽ gặp phải với thử nghiệm tích hợp của mình là có nhiều thử nghiệm truy cập vào cùng một cơ sở dữ liệu. Mặc dù hiện tại đây không phải là vấn đề, tôi biết chúng tôi có nhiều ứng dụng ở đây truy cập cùng một cơ sở dữ liệu và tôi chỉ đang cố gắng nghĩ cách để ngăn chặn vấn đề này trước khi nó xảy ra.
Một ý tưởng tôi đã thấy rất nhiều là sử dụng các giao dịch. Khi bắt đầu, bạn bắt đầu một giao dịch và sau đó, bạn sẽ quay lại giao dịch. Điều này có nghĩa là nhiều thử nghiệm truy cập vào cùng một bảng cơ sở dữ liệu và sẽ không ảnh hưởng lẫn nhau. Vấn đề tôi gặp phải là trong trường hợp của tôi, 85-95% số bảng tôi đang làm việc với MySQL là MyISAM không hỗ trợ giao dịch.
Có cách nào để di chuyển xung quanh các công cụ lưu trữ không hỗ trợ giao dịch nhưng vẫn cho phép nhiều thử nghiệm truy cập vào cùng một bảng mà không ảnh hưởng đến nhau không? Từ những gì tôi nghe được, khung thử nghiệm ruby trên đường ray sử dụng các giao dịch theo cách này, làm thế nào để họ khắc phục vấn đề này (hoặc họ)?