Moq ermöglicht es Entwicklern, geschützte Mitglieder nachzuahmen. Ich suchte nach der gleichen Funktionalität in Rhino.Mocks, aber finde es nicht.Wie man geschützte virtuelle Mitglieder mit Rhino.Mocks vortäuscht?
Hier ist ein Beispiel aus Moq Quick Start Seite, wie geschützte Methode zu mock.
// at the top of the test fixture
using Moq.Protected()
// in the test
var mock = new Mock<CommandBase>();
mock.Protected()
.Setup<int>("Execute")
.Returns(5);
// if you need argument matching, you MUST use ItExpr rather than It
// planning on improving this for vNext
mock.Protected()
.Setup<string>("Execute",
ItExpr.IsAny<string>())
.Returns(true);
Lassen Sie mich wissen, wenn ich etwas jage, das nicht austritt.
Sie Vielleicht möchten Sie diesen Link http://geekswithblogs.net/MattRobertsBlog/archive/2008/12/16/how-to-make-a-quotprotectedquot-method-available-for-quotpartialquot-mocking-and-again.aspx – juharr
Das ist nicht wirklich eine geeignete Lösung - Sie müssen Ihre ursprüngliche Klasse ändern, um eine Methode intern für andere Klassen verfügbar zu machen. M Sie ändern Ihr Design, um es zu testen. Schlechter Geruch für mich. –