3

私はモックにかなり慣れていないので、これはまだ理解していないだけかもしれませんが、どこにも良い例が見つかりません。

デフォルトでは、抽象クラスから継承するクラスはコンストラクターでコレクションをインスタンス化することを主張しようとしています。抽象クラスは次のとおりです。

public abstract class DataCollectionWorkflow : SequentialWorkflowActivity
{
        private readonly DataSet _output = new DataSet();
        private List<DataCollectionParameter> _params = null;

        public DataCollectionWorkflow()
        {
            _params = new List<DataCollectionParameter>();   
        }

        public virtual IList<DataCollectionParameter> Parameters
        {
            get { return _params; }
            set { _params = (List<DataCollectionParameter>)value; }
        }
}

これを Rhino でモックするにはどうすればよいですか? (またはスタブ) を実行GenerateMock<DataCollectionWorkflow>すると、コンストラクターが実行され、モックのプライベート フィールド " _params" が初期化されますが、モックの " Parameters" プロパティは単に null になります。

明らかに、生成されたモック サブクラスがプロパティの実装をオーバーライドしています。Parameters プロパティの再実装を除外する方法はありますか?

ありがとう。

4

2 に答える 2

0

_params を仮想にしてみてください

于 2009-03-06T23:54:52.363 に答える