0

我需要在我的域实体上模拟和测试一些行为。域实体将 Id 作为受保护字段。我的域实体上的一些行为使用该 ID 来确定该实体是新实体还是脏实体。那么如何动态创建一个继承自域实体的类​​,以便我可以访问受保护的字段。类似于实体框架创建的代理。或者如果有任何其他更好的方法来模拟并仍然测试域类上的函数。请看下面的示例代码:

public class Customer{
  public Id {get; protected set;}
  public bool SomeMethod(){
    //This method check if the Id == 0 then it's a new instance and if not then 
    //Old instance
  }
}

public void Test_SomeMethod(){
  var customer = Customer.GetInstance();
  //Test the Somemethod. By mocking that it's not a new instance
}
4

1 回答 1

2

您始终可以使用Castle DynamicProxy项目来创建运行时代理:

事实上,请从他们的 wiki 中查看以下声明:

Moq 和 Rhino Mocks 都使用它来提供模拟功能。

为什么不看看这些模拟框架(Moq 和 Rhino Mocks)?

于 2013-09-26T18:49:46.630 回答