Я пытаюсь использовать RhinoMock для макетирования службы wcf.
Скажем, у меня есть следующий сервис:
[OperationContract]
List<User> SearchUsers(UserSearchFilter filter);
При добавлении этой службы в Visual Studio будет создан прокси-сервер, и этот прокси-сервер будет иметь такой интерфейс:
public interface ResourceService {
System.IAsyncResult BeginSearchUsers(UserSearchFilter filter, System.AsyncCallback callback, object asyncState);
ObservableCollection<User> EndSearchUsers(System.IAsyncResult result);
}
Затем я создаю ViewModel, который использует этот сервис, например:
private ResourceService service;
public ViewModelBase(ResourceService serv)
{
service = serv;
var filter = new UserSearchFilter();
service.BeginSearchUsers(filter, a =>
{
this.Users = service.EndSearchUsers(a);
}, null);
}
Тогда возникает вопрос. Как мне издеваться над этим сервисом, используя RhinoMock?
[TestMethod]
public void UserGetsPopulatedOnCreationOfViewModel()
{
// Is stub the right thing to use?
ResourceService serv = MockRepository.GenerateStub<ResourceService>();
// Do some setup... Don't know how?
var vm = new ViewModel(serv);
Assert.IsTrue(vm.Users.Count > 0);
}
Я был бы очень рад, если бы кто-то мог помочь мне с правильным использованием RhinoMock
(Примечание: я использую Silverlight, но не думаю, что это изменит способ использования RhinoMock)
Большое спасибо!