Assert.IsType <>无法与Moq框架一起正常使用

时间:2019-03-09 04:16:50

标签: c# moq xunit

尝试检查模拟对象的类型时出现以下错误:

 Assert.IsType() Failure
 Expected: ProjetoAxion.Domain.Entities.User
 Actual:   Castle.Proxies.UserProxy

示例:

var userMock = Mock<User>().Object;
Assert.IsType<User>(userMock);

如何用Moq断言它是模拟类型?

1 个答案:

答案 0 :(得分:1)

这是moq内部工作的方式。它在内部使用DynamicProxy来创建可拦截的代理,其中代理Castle.Proxies.UserProxy扩展了User。否则,moq将如何拦截调用...知道您可以使用IsAssignableFrom<User>而不是IsType<User>的事实。

Assert.IsAssignableFrom<User>(userMock);