Насмешливая проблема: не удается создать экземпляр прокси класса. Не удалось найти конструктор без параметров - PullRequest
0 голосов
/ 05 ноября 2018

Я пытаюсь написать модульный тест для класса, который я не могу изменить реализацию. Ниже приведена ошибка, которую я вижу при написании тестов.

Единица измерения:

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 = ноль]]. Не удалось найти конструктор без параметров.

...