У меня есть класс TestManager
и его интерфейс ITestManager
Для вышеперечисленного у меня ниже насмешка в тестовом примере **
var lookupManager = new Mock<ITestManager>();
lookupManager.SetupGet(p => p.someMethod()).Returns("SomeDummyValue");
//registered this in the container with a mocked object
unitycontainer.RegisterInstance<ILookupAggregationManager>(lookupManager.Object);
//calling the method to be tested
targetObject.ExecuteTestCaseMethod();
//...
В реальном коде пересмешка не работает из-за строки ниже, здесь ключевое слово as
преобразует макетированный тип в фактический класс TestManager
. Это приводит к нулевому значению.
Можно ли получить шутку над типом сверху, даже после типизации прокси-сервера к фактическому типу?
public void ExecuteTestCaseMethod()
{
ITestManager lookupManager = this.container.Resolve<ITestManager>() as TestManager;
}