public static void Mock(out IProgram prog, out IJson json)
{
prog = Substitute.For<IProgram>();
IJson = Substitute.For<IJson>();
prog.SaveProg(1, 1, 1, "Somthing", 1, DateTime.UtcNow,
(DateTime.UtcNow + TimeSpan.FromDays(10)),
10, "[email protected]", DateTime.UtcNow, 1)
.Returns(ObjectResult<int?>);
}
由于ObjectResult
是受保护的类,因此调用Returns(ObjectResult<int?>)
时出现错误。我该如何解决这个问题,以便能够从实际方法中调用我的模拟方法?如何使用NSubstitute模拟受保护的方法
感谢Arturo的编辑 –
构成例子的问题是,如果你不检查它们,它们会比无意义的更糟糕。您可能希望解决的问题有很多问题。您提供的代码示例不会编译。 '.Returns'期待一个实例,而不是一个类型。你目前正在模拟接口,它不能有保护方法。 'ObjectResult'不是一个受保护的类(一个类需要嵌套才能被保护)。有不同版本的ObjectResult ,其中一些是密封的,其中一些具有受保护的构造函数。你想与哪个版本合作? –
forsvarir
你为什么在乎你不能看到的课程结果?你能否以ObjectResult的结果进行测试,因此你不必触摸该类? –