我需要在我的域实体上模拟和测试一些行为。域实体将 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
}