2009-08-18 6 views

Répondre

1

Comme vous l'avez écrit dans votre question, ce n'est pas possible.

Il est difficile de voir si la propriété Things est membre de l'interface ImyStuff, mais même si c'est le cas, le type de retour est un Dictionary<string, string> et la propriété Count de Dictionary<string, string> n'est pas virtuelle.

Vous pouvez uniquement simuler des membres virtuels (y compris les membres abstraits). Cela est vrai pour tous les frameworks fictifs dynamiques (à l'exception de TypeMock).

Ce que vous pouvez faire est de changer la signature de la propriété Things pour retourner IDictionary<string, string>. Cela vous permettrait de simuler la propriété Count.

Il a été un moment que je Rhino Mocks (j'utilise Moq ces jours-ci), mais il faut aller quelque chose comme ceci:

var thingsStub = MockRepository.GenerateStub<IDictionary<string, string>>(); 
thingsStub.Stub(t => t.Count).Return(3); 

var myStuffStub = MockRepository.GenerateStub<ImyStuff>(); 
myStuffStub.Stub(s => s.Things).Return(thingsStub); 
Questions connexes