2009-06-18 4 views
4

読み取り専用修飾子を持つクラスのための部品番号内の任意のアイデア:私はこのオブジェクトを模擬しようとしていたどのようにreadonlyプロパティでクラスをモックするのですか?

Class myClass 
{ 
    private int id; 
    public int Id{ get {return id;}} 

    public myClass(int id) 
    { this.id = id } 
} 

System.ArgumentException: Invalid setup on a non-overridable member m=>m.ID.

任意のアイデア:

var myMock= new Mock<myClass>(); 
myMock.SetupGet(m => m.ID).Return(555); 

は、それは私にエラーを返しましたか?

答えて

11

問題は読み取り専用ではなく、仮想ではないことです。

2

私が知っている唯一のモックエンジンは、クラスと密閉されたクラスの非仮想メソッドを変更することがTypemockです。

他のモッキングフレームワークのほとんどはインターフェイスでうまく動作し、インターフェイスが利用できない場合、モックされたメンバーは仮想である必要があります。

関連する問題