Moq позволяет разработчикам издеваться над защищенными членами.Я искал ту же функциональность в Rhino.Mocks , но не смог ее найти.
Вот пример со страницы Moq Quick Start о том, как создавать защищенный метод.
// 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);
Дайте мне знать, если я гоняюсь за тем, что не выходит.