我正在尝试为无法更改实现的类编写单元测试。 下面是我在编写测试时看到的错误。
模拟单元:
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, Culture = neutral,PublicKeyToken = null],[ClassC,Version = 1.0.0.0, 文化=中立,PublicKeyToken =空]]。 找不到无参数的构造函数。