通过接口创建假对象

Luk*_*rkl 5 .net c# reflection

我需要通过接口动态创建假对象.这个假对象的每个方法和属性都应该抛出NotImplementedException.有没有简单的方法如何使用.NET反射API?

jru*_*ell 7

您可以使用模拟API,如Moq.它专为单元测试中的模拟而设计,但它应该满足您的需求.


Ric*_*chK 1

Castle Proxies 是一个简洁的库,可以在运行时为接口生成代理对象。所有主要的模拟框架也在底层使用 Castle Proxies。

学习曲线比使用 Moq 之类的东西更陡峭,但它可能更适合您的需求,因为 Moq 被设计为专门用于单元测试,因此 API 对于您所追求的东西来说可能太“嘈杂”。