Ich benutze RhinoMock in VB.NET und ich muss den Rückgabewert für eine schreibgeschützte Liste festlegen.Wie richte ich den Rückgabewert für eine Readonly-Eigenschaft mit RhinoMocks in VB.NET ein?
Hier ist, was ich tun möchte (aber nicht funktioniert):
dim s = Rhino.Mocks.MockRepository.GenerateStub(of IUserDto)()
s.Id = guid.NewGuid
s.Name = "Stubbed name"
s.Posts = new List(of IPost)
Es ist auf der Kompilierung schlägt fehl, weil Beiträge eine Nur-Lese-Eigenschaft ist.
Dann habe ich einen Lambda-Ausdruck versucht, der für Funktionsaufrufe funktioniert, aber nicht so sehr für Eigenschaften. Dies kann nicht kompiliert werden.
s.Stub(Function(x As IUserDto) x.Posts).Return(New List(Of IPost))
Next (andernfalls) Versuch war SetupResults zu verwenden, aber dies scheiterte die besagt, dass es nicht im Wiedergabemodus verwendet werden kann.
Rhino.Mocks.SetupResult.For(s.Posts).Return(New List(Of IPost))
Was mich zurück zu meiner Frage bringt:
Wie richte ich einen Rückgabewert für eine Nur-Lese-Eigenschaft mit RhinoMocks in VB.NET?
Warum genau Rhino.Mocks.SetupResult.For (s.Posts) .Return (Neue Liste (von IPost)) fehlgeschlagen? – Grzenio
Fehler beim Angeben, dass es im Wiedergabemodus nicht gültig ist – Rick
Können Sie mehr Code bereitstellen? Es hört sich so an, als könnte man die neue AAA-Syntax mit der älteren Record-Playback-Methode verwechseln, die nicht helfen würde. Ich bin nicht vertraut mit VB.NET aber Stubbing eine Readonly-Eigenschaft (d. H. Eine Eigenschaft ohne Setter) kann sehr einfach in C# getan werden. – jpoh