Я пытаюсь смоделировать пользовательскую переменную внутри класса, которая доступна только для чтения и имеет возвращаемый результат внутри get.
public class BaseController
{
public string Local
{
return GlobalVariable.Local
}
}
[TestMethod]
public void TestMethod()
{
var baseControllerMock = Substitute.For<BaseController>();
baseControllerMock.Local.Returns("local");
}
Моя проблема в том, что даже если я использую ReturnsForAnyArgs, когда он входит внутрь return, я устал искать глобальную переменную, и она ломается, потому что
System.NullReferenceException: 'Ссылка на объект не установлена для экземпляра объекта.' поскольку GlobalVariable является нулем.
Я также пытался издеваться над глобальной переменной
[TestMethod]
public void TestMethod()
{
var baseControllerMock = Substitute.For<BaseController>();
var globalVarMock = Substitute.For<GlobalVariable>();
globalVarMock.Local.returns("local");
baseControllerMock.Local.Returns("local");
}
но когда он идет к возврату, он говорит, что он все еще нулевой.