J'essaie d'utiliser RhinoMock pour se moquer d'un service wcf.Aide de RhinoMock: service de contournement WCF
Dire que j'ai le service suivant:
[OperationContract]
List<User> SearchUsers(UserSearchFilter filter);
Ajouter ce service avec Visual Studio génère un proxy, et que proxy a une interface comme:
public interface ResourceService {
System.IAsyncResult BeginSearchUsers(UserSearchFilter filter, System.AsyncCallback callback, object asyncState);
ObservableCollection<User> EndSearchUsers(System.IAsyncResult result);
}
Puis-je créer un ViewModel qui utilise ce service, comme ceci:
private ResourceService service;
public ViewModelBase(ResourceService serv)
{
service = serv;
var filter = new UserSearchFilter();
service.BeginSearchUsers(filter, a =>
{
this.Users = service.EndSearchUsers(a);
}, null);
}
Puis vient la question. Comment puis-je me moquer de ce service en utilisant 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);
}
Je serais vraiment heureux si quelqu'un pouvait me aider avec l'utilisation correcte de RhinoMock
(Note: J'utilise Silverlight, mais je ne pense pas que cela changerait la façon dont RhinoMock est utilisé)
Merci beaucoup!
Que fait réellement Deployment.Current.Dispatcher.BeginInvoke? Cela dépend-il de la WCF? Alors vous ne pouvez pas vous moquer de ça. –
Salut!J'ai supprimé l'appel Dispatcher pour la clarté (il est utilisé pour éviter les problèmes de thread croisés entre thread d'interface utilisateur et thread d'arrière-plan) – Larsi