如何解决如何使用 Autofac.Extras.Moq
使用 Autofac.Extras.Moq,您将如何注册调用代码的依赖项,如下所示?
下面,我正在从 Class1 创建一个模拟。然后我试图调用“MyFunction”,我认为问题是由于 BaseWorker 基类和 BaseLoggingUtility 未注册。我知道如何使用 Autofac 处理注册,但我不熟悉如何在使用 AutoMock 时进行。
我曾尝试在 mock.Create() 中使用 lambda 来尝试注册模拟以及注册类型..但无济于事。
代码:
using (var mock = AutoMock.GetLoose())
{
var Class1_mock = mock.Create<Class1>();
var result = Class1_mock.MyFunction();
}
// Class inhereits from BaseWorker
// BaseLoggingUtility is a property of BaseWorker
public Response MyFunction()
{
BaseLoggingUtility.Log("hey look a log); // This is null at runtime
// ... more things
}
更新 -
我看到了这篇文章的答案:Using AutoFac Property Injection with Moq。 但是,在应用Action委托时,我的BaseLoggingUtility仍然为空。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。