我正在使用Autofac和Moq来促进单元测试。 我有以下嘲弄代码,但没有运气
MockObject.Setup(factory => factory.Request(this.testSubsystemName, RestSharp.Method.GET).BuildServiceConnector(It.IsAny<Uri>(), It.IsAny<int>(), It.IsAny<int>(), null).Execute<ConfigurationEntries>())
.Returns(new RestResponse<ConfigurationEntries> { Content = this.subSystemConfigs.ToEntries().ToString(), StatusCode = HttpStatusCode.OK });
在工厂类中,request方法返回一个ClassX对象。
public virtual ClassX Request(string resource, RestSharp.Method method)
{
return new ClassX(resource, method);
}
当我运行代码时,它给了我异常:
抛出异常:mscorlib.dll中的“System.MissingMethodException”。附加信息:未找到“Castle.Proxies.ClassXProxy”类型的构造函数。
我在this上尝试了在componentRegistry
上注册ClassX的答案mockScope.Container.ComponentRegistry.Register(RegistrationBuilder.ForType<ClassX>()
.As<ClassX>()
.CreateRegistration<ClassX, ConcreteReflectionActivatorData, SingleRegistrationStyle>());
有人可以指点我如何妥善解决这个问题。感谢