问题描述
使用 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 (将#修改为@)