У меня есть статический метод
Public Shared Function UpdateGroup(ByVal details As GroupDetails)
As ControllerResult
Return _methodObject.UpdateGroup(details)
End Function
, который был подвергнут рефакторингу для возможности имитации с помощью
Private Shared _methodObject As ISecurityController =
New SecurityControllerMethodObject()
Public Shared Sub OverrideInstance(ByVal controller As ISecurityController)
_methodObject = controller
End Sub
Затем в моем тесте у меня есть
var moqSecurityController = new Mock<ISecurityController>();
moqSecurityController
.Setup(x => x.UpdateGroup(groupDetails))
.Returns(controllerResult);
SecurityController.OverrideInstance(moqSecurityController.Object);
Если я поставлю точку останова в этой последней строке, я увижу, что groupDetails имеет то, что должен, а также controllerResult, поэтому я ожидаю, что при вызове функции UpdateGroup будет возвращен controllerResult, который представляет собой простой класс сСвойства сообщения и успеха.
Однако я получаю значение Null / Nothing.
Чего мне не хватает?
Примечание. Как вы могли заметить, рабочий кодв VB.NET мои тесты находятся на C #.