Tôi nghĩ rằng có một vấn đề liên quan đến logic thử nghiệm đơn vị. Nếu bạn đang mong đợi một ngoại lệ cụ thể theo các đầu vào nhất định, bạn khai báo nó như là một ngoại lệ dự kiến. Nếu bạn chỉ kiểm tra xem chức năng của bạn có hoạt động đúng không và không có ngoại lệ nào được mong đợi trong hành vi thích hợp này, bạn chỉ cần viết nó và nếu nó ném bất kỳ ngoại lệ nào, kiểm tra của bạn không thành công.
Mã của bạn có vẻ hoạt động bình thường, mặt khác, chỉ kiểm tra không có trường hợp ngoại lệ có thể không phải là cách thích hợp để kiểm tra đơn vị. Trong các thử nghiệm đơn vị, nói chung bạn mong đợi một số kết quả đầu ra (giá trị dự kiến), bạn có một số đầu ra thực tế (giá trị thực tế) và bạn khẳng định rằng giá trị dự kiến và thực tế là như nhau.
Đó có thực sự là tất cả những gì bạn muốn thử nghiệm không? Bạn nhận ra rằng nếu testFunction là no-op, nó sẽ vượt qua bài kiểm tra. – Martijn
Phương pháp của bạn có yêu cầu cụ thể không để ném? Hoặc là nó được thực hiện theo tinh thần của * mã của tôi hoạt động vì nó không ném *? Nếu sau này, bạn di chuyển muốn kiểm tra [những] (http://stackoverflow.com/questions/8788558/should-i-test-that-methods-dont-throw-exceptions) [hai] (http: // stackoverflow.com/questions/9417213/c-how-do-i-check-no-exception-occurred-in-my-unit-test) các câu hỏi tại sao nói chung bạn không làm điều đó. Bạn đạt được rất ít để không có gì từ thử nghiệm như vậy. –
@jimmy_keen Như một trường hợp đặc biệt, đã sử dụng để kiểm tra rằng gọi Dispose() lần thứ hai không ném – Gareth