Я пытаюсь использовать 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)
Большое спасибо!