Tôi có một ứng dụng đang sử dụng dịch vụ WCF. Bây giờ tôi muốn thêm các bài kiểm tra đơn vị vào ứng dụng.Cách dễ dàng để thử một dịch vụ WCF?
Đối với một số trường hợp, tôi cần giả lập dịch vụ WCF, vì việc nhận được hành vi mong muốn từ dịch vụ đôi khi rất khó khăn (ví dụ: dịch vụ ném ngoại lệ đặc biệt).
Tôi có thể thêm một giao diện khác vào ứng dụng khách wcf, nhưng điều này có vẻ hơi ngớ ngẩn, vì các cuộc gọi của khách hàng đã sử dụng giao diện.
Có cách nào dễ dàng để thử dịch vụ WCF không? Dễ dàng hơn việc tạo một lớp giao diện khác và chuyển hướng mọi cuộc gọi WCF đơn lẻ bên trong nó?
Edit: Hầu hết các câu trả lời dường như không biết nhiều về dịch vụ WCF sử dụng, vì vậy một số làm rõ:
Để sử dụng một dịch vụ WCF từ một ViewModel, tôi phải quản lý một cái gì đó kết nối như thế này:
ChannelFactory<IMyWcfService> channelFactory = new ChannelFactory<IMyWcfService>("");
IMyWcfService proxy = channelFactory.CreateChannel();
proxy.CallMyStuff();
proxy.Close();
Tôi không thể vượt qua ViewModel proxy đến WCF, vì kết nối cần phải được mở và đóng cho mỗi giao dịch. Vì lý do này, việc sử dụng RhinoMock/NMock sẽ không hoạt động, vì họ cần một ViewModel nhận proxy như một tham số, không thể thực hiện như thế này nếu bạn sử dụng WCF.
+1 trên chế độ mô phỏng trực tiếp giao diện. –
vui lòng cung cấp ví dụ – PositiveGuy
ChannelFactory là gì? – PositiveGuy