0

ここではかなり最小限です。テストしたいビューモデルがありますが、インターフェイスを実装する必要があるだけなのか、それともそれを実行できるモック フレームワークがあるのか​​ わかりません。

私がやりたいことは、ビューモデルに IProcessQueueCommand を与え、ラムダを実行する MessageProcessed イベントを発生させ、LastProcessedMessage を設定することです

ビューモデル:

public string LastProcessedMessage
{
    get
    {
        return this.lastProcessedMessage;
    }
    private set
    {
        this.lastProcessedMessage = value;
        this.FirePropertyChanged("LastProcessedMessage");
    }
}private string lastProcessedMessage;

public IProcessQueueCommand ProcessQueueCommand
{
    get
    {
        return this.processQueueCommand;
    }
    set
    {
        this.processQueueCommand = value;
        this.processQueueCommand.MessageProcessed += (evt) =>
        {
            this.LastProcessedMessage = evt.Text;
        };
    }
}private IProcessQueueCommand processQueueCommand;
4

1 に答える 1

0

偽のオブジェクトまたはモック オブジェクトを使用してテストできます。

フェイク オブジェクト: IProcessQueueCommand インターフェイスを実装し、「fire イベント」メソッドを公開するオブジェクト。ビュー モデルにインスタンスを挿入し、「fire イベント」メソッドを呼び出して、最後に LastProcessedMessage プロパティをテストできます。

モック オブジェクト: まったく同じですが、偽の実装と "fire event" メソッドはモック フレームワークによってオンザフライで生成されます。

それが役に立てば幸い。

于 2013-12-14T01:10:33.550 に答える