基于类型对象的模拟接口

本文关键字:对象 模拟 接口 类型 于类型 | 更新日期: 2023-09-27 17:58:02

我想模拟一些基于类型对象的接口。我需要这个来通过反射调用构造函数。看起来是这样的:

        var type = typeof (T);
        var constructors = type.GetConstructors();
        var constructor = constructors.First();
        var parameters = constructor.GetParameters();
        var objects = new object[parameters.Count()];
        //TODO create mock parameters and add to aobject array
        constructor.Invoke(objects);

有可能取得那样的成就吗?有没有任何模拟框架为这一点提供了可行性?或者可以使用BCL来完成?

基于类型对象的模拟接口

bump部分正确,但我想得到的是一个通过反射和解决方案进行的模拟:

public static object DynamicMock(Type type)
{
   var mock = typeof(Mock<>).MakeGenericType(type).GetConstructor(Type.EmptyTypes).Invoke(new object[] { });
   return mock.GetType().GetProperties().Single(f => f.Name == "Object" && f.PropertyType == type).GetValue(mock, new object[] {});
}