1

Mockolate にバインド イベントをディスパッチするように依頼することは可能ですか?

たとえば、次のクラスがあるとします。

class Person {
    [Bindable]
    public var name:String;
}

モックが欲しい:

var mockPerson:Person = nice(Person);

フィールドが変更されたpropertyChangeEventときにディスパッチします。name

4

1 に答える 1

3

バインディング イベントは のインスタンスであると述べたように、 を使用しPropertyChangeEventてインスタンスを作成し、PropertyChangeEvent.createUpdateEvent()それを使用し.dispatches()ます。

そのようです:

mock(person).setter("name").arg(anything())
    .dispatches(PropertyChangeEvent.createUpdateEvent(person, "name", oldValue, newValue));

ただし、oldValuenewValueを指定する必要があることに注意してください。

バインディングが頻繁に使用されるため、このシナリオのショートカットを作成するメリットがあると思います。唯一のトリッキーな部分は、以前の値を保持することです。

これを自分で実装したい場合はAnswerDecoratorクラスとサブクラスを参照することをお勧めします。

于 2010-11-08T22:37:07.970 に答える