2008-10-24 29 views
5

Khuôn khổ kiểm tra đơn vị của Microsoft đã bất ngờ bị đình công.VSTestHost.exe đã ngừng hoạt động - không thể chạy thử nghiệm đơn vị

Khi tôi cố gắng chạy thử nghiệm trong VS2008, tôi nhận được một hộp thoại với thông báo "VSTestHost.exe đã ngừng hoạt động".

Tôi có Visual Studio Team System 2008 (phiên bản 9.0.30729.1 SP) chạy trên Vista với tất cả các bản cập nhật được áp dụng.

"Báo cáo sự cố và giải pháp" đề xuất rằng tôi "Nâng cấp lên phiên bản bán lẻ mới nhất của Visual Studio Team Edition cho Người thử nghiệm phần mềm" không đúng.

Tôi đã thử khởi động lại.
Tôi đã thử "devenv/resetuserdata"

Những điều này không có sự khác biệt.

Tôi muốn quay lại MbUnit dựa trên điều vô nghĩa này, nhưng đó không phải là lựa chọn của tôi.
Bất kỳ đề xuất nào về cách sửa lỗi này?

Trả lời

7

Điều này thường do một điều gì đó sai trong mã như vòng lặp vô tận hoặc tham chiếu vòng tròn.

Tôi đã gặp vấn đề tương tự và nhận ra rằng đó là mã của tôi đã gây rối, và khung kiểm thử đơn giản là tự bảo vệ chống lại mã của tôi bằng cách tắt chính nó.

Chìa khóa cho tôi là điều tương tự cũng xảy ra với hai khung kiểm tra khác nhau. Vì vậy, nó phải là mã của tôi.

1

Tôi đã tìm thấy vấn đề mà tôi đã hỏi và đó là lỗi của tôi. Tôi đã mã hóa tràn ngăn xếp: tôi đã tái cấu trúc một số mã vào một phương thức mở rộng, đổi tên nó thành phù hợp với phương thức mở rộng LINQ mà nó gọi, và do đó nó được gọi là tự đệ quy.

Những bài học để học hỏi từ này:
1:"select" isn't broken. Tôi đã quá nhanh để đổ lỗi cho khuôn khổ, do danh tiếng xấu của nó.

2: Nhưng nó có thông báo lỗi chung về bệnh lý và hoàn toàn gây nhầm lẫn.

Trong trường hợp thông báo lỗi xấu, kỹ thuật gỡ lỗi tốt là cố gắng xác định những gì và những gì không gây ra lỗi. Trong trường hợp của tôi, bước đột phá đến ngay sau khi tôi nhận thấy rằng nó không phải là "chạy thử" đã thất bại, nó chỉ chạy có chứa các kiểm tra cơ sở dữ liệu Sql - đối tượng miền và thử nghiệm kho lưu trữ giả có thể chạy tốt, vì vậy phải là một cái gì đó về mã mà nó đang chạy. Và rằng trình gỡ rối sẽ bước vào các thử nghiệm. Tôi đã giả định từ những lỗi nghiêm trọng mà nó thậm chí còn không đi xa đến thế.

0

Bạn đã thử chạy sửa chữa trên Visual Studio hoặc thậm chí đặt lại về cài đặt gốc?

Để đặt lại về cài đặt gốc, hãy chạy devenv/ResetSettings từ cửa sổ chạy.

1

Điều quan trọng cần lưu ý là trong khi thông báo lỗi giải thích rằng VSTestHost.exe ngừng hoạt động không phải là rất mô tả. Trong kết quả kiểm tra có một liên kết cho biết "Chạy thử đã hoàn thành" (hoặc trong trường hợp của bạn có thể nói "Chạy thử thất bại") khi nhấp vào điều này, bạn sẽ thấy thông báo lỗi chính xác xảy ra khiến máy chủ thử nghiệm không thành công (ngoại lệ tràn ngăn xếp).

Chúng loại bỏ thông tin đó, nhưng rất hữu ích khi biết đặc biệt khi máy chủ không hoạt động nhưng một số thử nghiệm không hoạt động, đôi khi thông tin về lý do có thể tìm thấy trong liên kết đó.

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