Я пытаюсь написать модульный тест для класса, который я не могу изменить реализацию.
Ниже приведена ошибка, которую я вижу при написании тестов.
Единица измерения:
public class ClassA : IInterface
{
public readonly ClassB _classB = null;
public ClassA(ClassB classB)
{
_classB = classB;
}
private ClassP<ClassB, ClassC> _classP;
public virtual ClassP<ClassB, ClassC> TargetToMock => _classP ?? (_classP = new ClassP<ClassB, ClassC>(_classB));
}
Дразнящий:
MockClassB = new Mock<ClassB>();
MockClassA = new Mock<ClassA>(MockClassB.Object);
Настройка:
MockClassA
.Setup(s => s.TargetToMock.SomeMethod(argument1, argument2))
.Returns(SomeResponseObject);
Исключение:
Castle.DynamicProxy.InvalidProxyConstructorArgumentsException: Может
не созданный экземпляр прокси класса: ClassP`2 [[ClassB, Version = 1.0.0.0,
Культура = нейтральная, PublicKeyToken = ноль], [ClassC, версия = 1.0.0.0,
Культура = нейтральная, PublicKeyToken = ноль]].
Не удалось найти конструктор без параметров.