Trong một giải pháp VS2008 phức tạp, tôi có ba dự án thử nghiệm đơn vị. Khi chúng hoạt động trên cùng một cơ sở dữ liệu thử nghiệm, điều quan trọng là các dự án thử nghiệm được thực thi sau khi các dự án khác. Nó không phải là quan trọng mà dự án đầu tiên, chỉ là một trong những kết thúc trước khi bắt đầu khác.Trình tự kiểm tra đơn vị khi chạy tất cả các phép thử trong giải pháp
Nếu tôi muốn thực hiện tất cả, có một số cách để làm điều đó, dẫn đến kết quả khác nhau:
- tôi có một danh sách kiểm tra tập tin .vsmdi nơi các cuộc thử nghiệm được sắp xếp theo dự án. Nếu tôi mở danh sách và thực hiện các bài kiểm tra từ trình soạn thảo danh sách kiểm tra, mọi thứ đều ổn.
- Nếu tôi mở cửa sổ Kiểm tra xem, sắp xếp các bài kiểm tra theo dự án và chạy chúng, một lần nữa mọi thứ đều ổn.
- Tuy nhiên nếu chạy thử nghiệm bằng cách chọn 'Test -> Run -> All Tests in Solution' từ trình đơn, chúng sẽ được thực hiện theo thứ tự ngẫu nhiên trong đó một số thất bại, vì một trong các dự án thử nghiệm khác đã thao tác kiểm tra db.
Vì vậy, câu hỏi đặt ra là điều gì xác định trình tự kiểm tra đơn vị khi sử dụng phương pháp thứ ba? Có cách nào để chỉ định danh sách kiểm tra mặc định trong .testrunconfig không?
Vì có giải pháp, vấn đề không quan trọng chút nào. Nhưng mọi ý nghĩ đều được chào đón. Cảm ơn.
Tôi hoàn toàn đồng ý rằng nên tránh sử dụng vật cố định dùng chung. Tuy nhiên vấn đề ở đây không phải là thứ tự của các bài kiểm tra nhưng thực tế là các dự án thử nghiệm chạy song song dẫn đến các vấn đề đồng bộ hóa với thiết lập và teardown của db. Tôi không mô tả chi tiết đầy đủ. Tôi nghĩ rằng bây giờ giải pháp tốt nhất là thiết lập toàn cầu và teardown của db. – Wullie
Tôi không nghĩ rằng MSTest chạy thử nghiệm song song - ít nhất, đó không phải là kinh nghiệm của tôi cả. –