c# - 当类型转换为实际类类型时,将模拟接口类型转换为 null
问题描述
我有一个类TestManager
及其接口ITestManager
对于上面我在测试用例中进行了下面的模拟**
var lookupManager = new Mock<ITestManager>();
lookupManager.SetupGet(p => p.someMethod()).Returns("SomeDummyValue");
//registered this in the container with a mocked object
unitycontainer.RegisterInstance<ILookupAggregationManager>(lookupManager.Object);
//calling the method to be tested
targetObject.ExecuteTestCaseMethod();
//...
由于以下行,在实际代码模拟中不起作用,hereas
关键字正在将模拟类型转换为实际类TestManager
。这导致空值。
即使在将代理类型转换为实际类型之后,是否可以从上面的模拟中获取类型?
public void ExecuteTestCaseMethod()
{
ITestManager lookupManager = this.container.Resolve<ITestManager>() as TestManager;
}
解决方案
推荐阅读
- apache-spark-sql - 具有静态名称值 spark 的 to_json
- python - 在 python pandas 中重新映射和重新组合值
- php - 如何在php中上传多个base64编码的图像
- flutter - 如何将 CachedNetworkImage 转换为 ImageProvider?
- java - 无法获得应付总额
- python - ttk.Entry 未根据文本变量设置默认值
- haskell - 你如何写数学 |x| 在哈斯克尔?
- elixir - Phoenix UndefinedFunctionError
- rdma - 写入消息长度超过 1024B(mtu) 时,softroce 模式下失败
- swift - 如何在 Swift 中围绕 UILabel 文本设置阴影轮廓(实心)?