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的結果進行測試,因此你不必觸摸該類? –