Tôi đến từ Typemock và tôi sẽ không giải quyết các nhận xét "Quá mạnh mẽ" (mặc dù nó vượt xa tôi tại sao mọi người không muốn để sử dụng công cụ tốt nhất cho công việc).
Đây là cách thức hoạt động của Máy đánh chữ Typemock. Bạn đã bao giờ sử dụng một hồ sơ hiệu suất chưa? Isolator là một profiler. Nó móc vào CLR và trong thời gian chạy thử nghiệm, nó thay đổi phương thức. Khi một phương thức được JITted, nó thay đổi nó, vì vậy khi phương thức chạy, trước khi thực thi mã gốc, nó sẽ hỏi: tôi có nên chạy nó như dự định ban đầu hay không, và nếu không, tôi nên làm gì? Và bởi vì công nghệ cụ thể này, nó có thể chế tạo bất kỳ phương thức và công nghệ Net nào. Đó là nó.
Khi bạn đặt hành vi sử dụng API, câu trả lời cho các câu hỏi giờ đây sẽ trở thành intersting và thay đổi hành vi khi chạy theo phương thức đó. Đơn giản, nhưng dưới nắp nó có rất nhiều công việc :)
Bộ cách ly đi kèm với VS AddIn để chạy thử nghiệm liền mạch trong VS và với công cụ dòng lệnh và MSBuild hoặc công việc NAnt để sử dụng trong máy chủ xây dựng.
Tôi rất sẵn lòng trả lời bất kỳ câu hỏi nào khác mà bạn có thể có.
Đoán tốt nhất, kết hợp AppDomains, Reflection.Emit và một chút công bằng về hackery và phép thuật. Nhưng tôi hầu như không đủ điều kiện để làm cho nhiều người được giáo dục đoán về điều này. –
thêm thẻ typemock – BengtBe
Xem thêm http://stackoverflow.com/questions/2187513/how-to-make-a-unit-test-mock-of-an-object-with-non-virtual-functions/6690183 –