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 に答える